PHPCMS V9用户手册

  • 总策划：王参加
  • 开发团队：王参加 王铁成 陈学旺 陈鹏 王官庆 张庆 熊生华 吕存白
  • UI团队：董飞龙 张二强
  • 文档制作：陈鹏 王官庆 张二强 董飞龙
  • 支持团队： 小波 世界首富 accpxq hgh0720 sundawei
  • 版权信息：上海盛大网络发展有限公司


PHPCMS 简介

返回目录

简介

PHPCMS V9产品介绍

PHPCMS V9（简称V9）采用PHP5+MYSQL做为技术基础进行开发。V9采用OOP（面向对象）方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展，代码维护，优秀的二次开发能力，可满足所有网站的应用需求。

5年开发经验的优秀团队，在掌握了丰富的WEB开发经验和CMS产品开发经验的同时，勇于创新追求完美的设计理念，为全球多达10万网站提供助力，并被更多的政府机构、教育机构、事业单位、商业企业、个人站长所认可。

V9在保留2008版的特点的同时，对新版本作出重大的创新，以期待全新的PHPCMS系统服务更多的用户。

PHPCMS V9产品介绍

http://download.phpcms.cn/v9/document/V9.pdf

PHPCMS V9产品特色
全新框架

采用全球认可的最为先进的开放理念——OOP（面向对象），进行全新框架设计。框架结构更为清晰，代码更易于维护。模块化做为功能的开发形式，让扩展性得到保证。V9特别设计的二次开发扩展方式，让你不再修改官方的代码文件，就可以对功能代码进行重写。让你轻松享受二次开发带来的便捷的同时，不再为官方升级而担忧。

站群系统

V9率先把只有大型门户才可使用的站群系统引入到开源系统中。各个站点权限互相独立、操作互不影响。

多发布点

V9提供单一站点，发布到多个服务器上的能力。可轻松实现强大的负载均衡。

数据表分离

V9数据模型功能，允许用户把不同的数据表，分离到不同的数据库服务器上。以实现负载的分离，更加的符合大访问网站的需求。 强大的内容模型

V9的内容模型的组建变得更为合理，让模型的负载能力更高。超强的自定义模型和字段功能则把系统灵活度发挥到了极致，可以不用编程就实现各种信息发布和检索。系统内置了文章、组图、下载三大内容模型。

模板制作方便

V9采用MVC体系设计其模板引擎，简单易懂的模板引擎，让美工人员可独立完成模板制作及数据调用，可让程序人员和美工人员分工协作，最大可能提高团队执行力。多个工具箱，可方便的调用来自其他系统的数据。

口令卡，提供银行级安全保护

V9为你的后台管理系统提供银行级的安全保护，每个管理账号绑定不同的口令卡。可将口令卡存储在移动存储介质中，让安全随你出行。

优秀的用户体验

V9更加简洁，结构更为合理的后台管理系统，让上手更为容易，操作更为简单。精心选择多个颜色保护你的眼睛之余，还可保持愉快心情。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.
问题和建议请反馈至：http://bbs.phpcms.cn


PHPCMS v9 安装环境要求

PHPCMS v9 安装环境要求

PHPCMS V9基于PHP+MYSQL环境运行

操作系统 | linux 或者 windows
Web Server | Apache、IIS 、Nginx或其他 Web Server
PHP版本 | PHP 5以上版本
MYSQL版本 | MySql 4.1以上版本
相关扩展功能
项目 | 状态
MYSQL扩展 | 必须开启
JSON扩展 | 必须开启
ICONV | 必须开启
GD库 | 必须开启
FREETYPE | 必须开启
URL Rewrite | 可选
GZip | 可选
Mysql 全文索引 | 可选
您还可以通过配置Memcached、sphinx进一步提升您的系统性能

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


安装

一、安装

Linux 环境搭建推荐教程

Windows 环境搭建推荐教程

Nginx 环境推荐教程

PC_webserver 安装说明

PHPCMS V9 安装说明

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


环境搭建推荐教程

安装 —— Linux 环境搭建推荐教程

一、系统约定

软件源代码包存放位置：/usr/local/src
源码包编译安装位置(prefix)：/usr/local/software_name
脚本以及维护程序存放位置：/usr/local/sbin
MySQL 数据库位置：/var/lib/MySQL（可按情况设置）
Apache 网站根目录：/home/www/wwwroot（可按情况设置）
Apache 虚拟主机日志根目录：/home/www/logs（可按情况设置）
Apache 运行账户：www:www

二、系统环境部署及调整
1. 检查系统是否正常

    # more /var/log/messages（检查有无系统级错误信息）
    # dmesg（检查硬件设备是否有错误信息）
    # ifconfig（检查网卡设置是否正确）
    # ping www.163.com（检查网络是否正常）

2. 关闭不需要的服务

    # ntsysv
    以下仅列出需要启动的服务，未列出的服务一律推荐关闭：
    atd
    crond
    irqbalance
    microcode_ctl
    network
    sendmail
    sshd
    syslog

3. 重新启动系统

    # init 6

4. 配置 vim

# vi /root/.bashrc
在 alias mv='mv -i' 下面添加一行：alias vi='vim' 保存退出。
# echo 'syntax on' > /root/.vimrc

5. 使用 yum 程序安装所需开发包（以下为标准的 RPM 包名称）

# yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex
bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kerne

6. 定时校正服务器时钟，定时与中国国家授时中心授时服务器同步

# crontab -e
加入一行：
*/30 * * * * ntpdate 210.72.145.44

7. 源码编译安装所需包 (Source)

需要下载的文件

    gd-2.0.34.tar.gz
    libxml2-2.6.30.tar.bz2
    libmcrypt-2.5.8.tar.bz2
    cronolog-1.7.0-beta.tar.gz
    openssl-0.9.8e.tar.gz (可选)
    openssl-0.9.8e.tar.gz (可选)

7.1 GD2

    # cd /usr/local/src
    # tar xzvf gd-2.0.34.tar.gz
    # cd gd-2.0.34
    # ./configure --prefix=/usr/local/gd2
    # make
    # make install
7.2 LibXML2
    # cd /usr/local/src
    # tar xjvf libxml2-2.6.30.tar.bz2
    # cd libxml2-2.6.30
    # ./configure --prefix=/usr/local/libxml2
    # make
    # make install
7.3 LibMcrypt
    # cd /usr/local/src
    # tar xjvf libmcrypt-2.5.8.tar.bz2
    # cd libmcrypt-2.5.8
    # ./configure –prefix=/usr/local/libmcrypt
    # make
    # make install
7.4 Apache日志截断程序
    # cd /usr/local/src
    # tar xzvf cronolog-1.7.0-beta.tar.gz
    # cd cronolog-1.7.0-beta
    # ./configure –prefix=/usr/local/cronolog
    # make
    # make install

8. 升级OpenSSL和OpenSSH

    # cd /usr/local/src
    # tar xzvf openssl-0.9.8e.tar.gz
    # cd openssl-0.9.8e
    # ./config --prefix=/usr/local/openssl
    # make
    # make test
    # make install
    # cd ..
    # tar xzvf openssh-4.7p1.tar.gz
    # cd openssh-4.7p1
    # ./configure \
    "--prefix=/usr" \
    "--with-pam" \
    "--with-zlib" \
    "--sysconfdir=/etc/ssh" \
    "--with-ssl-dir=/usr/local/openssl" \
    "--with-md5-passwords"
    # make
    # make install
（1）禁用 SSH V1 协议 找到：
#Protocol 2,1
改为：
Protocol 2
（2）禁止root直接登录,此处先建立一个普通系统用户：
    # useradd username
    # passwd username
找到：
#PermitRootLogin yes
改为：
PermitRootLogin no
（3）禁用服务器端GSSAPI,找到以下两行，并将它们注释：
    GSSAPIAuthentication yes
    GSSAPICleanupCredentials yes
（4）禁用 DNS 名称解析,找到：
#UseDNS yes
改为：
UseDNS no
（5）禁用客户端 GSSAPI
# vi /etc/ssh/ssh_config
找到：
GSSAPIAuthentication yes
将这行注释掉。
最后，确认修改正确后重新启动 SSH 服务
    # service sshd restart
    # ssh -v
确认 OpenSSH 以及 OpenSSL 版本正确。

三、编译安装L.A.M.P环境
1. 下载软件

# cd /usr/local/src
下载文件mysql,apache,php，请到下面网址下载相应软件
    http://www.apache.org/ (推荐版本：2.2.21)
    http://www.php.net/  (推荐版本：5.2.17)
    http://www.mysql.com/

2. 编译安装MySQL

    # tar xzvf MySQL-5.0.45-linux-i686-glibc23.tar.gz
    # mv MySQL-5.0.45-linux-i686-glibc23 /usr/local/
    # ln -s /usr/local/ MySQL-5.0.45-linux-i686-glibc23 /usr/local/MySQL
    # useradd MySQL
    # chown -R MySQL:root /usr/local/MySQL/
    # cd /usr/local/MySQL
    # ./scripts/MySQL_install_db --user=MySQL
    # cp ./support-files/MySQL.server /etc/rc.d/init.d/MySQLd
    # chown root:root /etc/rc.d/init.d/MySQLd
    # chmod 755 /etc/rc.d/init.d/MySQLd
    # chkconfig --add MySQLd
    # chkconfig --level 3 5 MySQLd on
    # cp ./support-files/my-huge.cnf /etc/my.cnf
    # mv /usr/local/MySQL/data /var/lib/MySQL
    # chown -R MySQL:MySQL /var/lib/MySQL/
    # vi /etc/my.cnf

3. 编译安装Apache

    # cd /usr/local/src
    # tar xjvf httpd-2.2.21.tar.bz2
    # cd httpd-2.2.21
    # ./configure \
    "--prefix=/usr/local/apache2" \
    "--with-included-apr" \
    "--enable-so" \
    "--enable-deflate=shared" \
    "--enable-expires=shared" \
    "--enable-rewrite=shared" \
    "--enable-static-support" \
    "--disable-userdir"
    # make
    # make install
    # echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.local

4. 编译安装PHP

    # cd /usr/local/src
    # tar xjvf php-5.2.17.tar.bz2
    # cd php-5.2.17
    # ./configure \
    "--prefix=/usr/local/php" \
    "--with-apxs2=/usr/local/apache2/bin/apxs" \
    "--with-config-file-path=/usr/local/php/etc" \
    "--with-MySQL=/usr/local/MySQL" \
    "--with-libxml-dir=/usr/local/libxml2" \
    "--with-gd=/usr/local/gd2" \
    "--with-jpeg-dir" \
    "--with-png-dir" \
    "--with-bz2" \
    "--with-freetype-dir" \
    "--with-iconv-dir" \
    "--with-zlib-dir " \
    "--with-openssl=/usr/local/openssl" \
    "--with-mcrypt=/usr/local/libmcrypt" \
    "--enable-soap" \
    "--enable-gd-native-ttf" \
    "--enable-ftp" \
    "--enable-mbstring" \
    "--enable-exif" \
    "--disable-ipv6" \
    "--disable-cgi" \
    "--disable-cli"
    # make
    # make install
    # mkdir /usr/local/php/etc
    # cp php.ini-dist /usr/local/php/etc/php.ini

5. 整合Apache与PHPP

# vi /usr/local/apache2/conf/httpd.conf
找到：
AddType application/x-gzip .gz .tgz
在该行下面添加
AddType application/x-httpd-php .php
找到：
 DirectoryIndex index.html
将该行改为
DirectoryIndex index.html index.htm index.php
找到：
    #Include conf/extra/httpd-mpm.conf
    #Include conf/extra/httpd-info.conf
    #Include conf/extra/httpd-vhosts.conf
    #Include conf/extra/httpd-default.conf
去掉前面的“#”号，取消注释。注意：以上 4 个扩展配置文件中的设置请按照相关原则进行合理配置！修改完成后保存退出。
# /usr/local/apache2/bin/apachectl restart

6. 查看确认L.A.M.P环境信息、提升 PHP 安全性

在网站根目录放置 phpinfo.php 脚本，检查phpinfo中的各项信息是否正确。
确认 PHP 能够正常工作后，在 php.ini 中进行设置提升 PHP 安全性。

# vi /etc/php.ini
找到：
disable_functions =
设置为：
phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,
ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


安装

安装 —— Windows 环境搭建推荐教程

一、系统约定

环境软件下载后存放位置：X:\Server_Tools
环境软件安装位置：X:\Server_Core
PHP安装位置：X:\Server_Core\PHP
MySQL安装位置：X:\Server_Core\MySQL
Zend Optimizer安装位置：X:\Server_Core\Zend
IIS网站站点根目录：X:\wwwroot
MySQL 数据库位置：X:\Database
Php.ini存放位置：X:\Windows\php.ini
My.ini 存放位置：X:\Server_Core\MySQL\my.ini

二、系统环境检查以及准备所需软件
1. 检查系统是否已安装IIS

单击："开始"－"管理工具"，检查是否存在" Internet 信息服务(IIS)管理器 "

2. 查看磁盘分区容量并确定使用策略

打开"我的电脑"，查看除 C 区外各个磁盘分区的可用空间容量，使用容量较大的磁盘分区作为 WEB 根目录，且 MySQL 数据库存储目录(Database)，尽量不要与 WEB 根目录同在一个磁盘分区内。较小的磁盘分区可以作为服务环境软件的安装目录分区。

3. 下载环境软件

将所有软件均下载存放于Server_Tools文件夹中。
MySQL-essential-5.0.45-win32.msi
php-5.2.21-Win32.zip

三、环境部署
1．安装MySQL

(1) 安装软件

进入 X:\Server_Tools 文件夹，双击 MySQL-essential-5.0.45-win32.msi ；如图 1 所示：

选择 Custom 自定义安装，如图 2 所示：

点击"Change"更改 MySQL 安装目录，如图 3 所示：

待文件复制安装完毕后，进行 MySQL 设置界面，单击 Finish 。如图 4 所示：

选择 Detailed Configuration 进行详细配置，如图 5 所示：

选择 MySQL 运行模式：Server Machine 如图 6 所示：

选择 MySQL 数据库默认存储方式：Non-Trans Only ( MYISAM) 如图 7 所示：

设定 MySQL 最大连接数：一般设置为 128 - 512 之间的整数。如图 8 所示：

设定 MySQL 网络参数，注意：不要启用 Strict Mode！ 如图 9 所示：

设定 MySQL 默认字符集：以用户站点语言为准。如图 10 所示：

Windows 环境设定，如图 11 所示：

修改设定 root 用户密码，注意：不要启动远程连接模式！ 如图 12 所示：

完成 MySQL 的安装，并启动 MySQL 服务。如图 13 所示：

(2) 测试 MySQL 工作是否正常。

打开 cmd 命令提示符窗口，输入命令：

MySQL –u root –p
输入密码后，如果能够正常进入 MySQL 控制台则说明 MySQL 安装正常。

(3) 更改 MySQL 数据库目录

a) 打开 cmd 命令提示符窗口，输入命令：

net stop MySQL
停止 MySQL 服务运行；
b) 打开X:\Server_Core\MySQL\my.ini
找到：
Datadir = "X:\Server_Core\MySQL\data"
修改为：
Datadir = "X:\Database"
c) 将 X:\Server_Core\MySQL\data 文件夹复制到 X:\ ，并重命名为 X:\Database；
d) 打开 cmd 命令提示符窗口，输入命令：
net start MySQL
启动 MySQL 服务。
e) 重新测试 MySQL 是否工作正常。

(4) 准备 LibMySQL 动态链接库

将

 X:\Server_Core\MySQL\bin\libMySQL.dll
文件复制到
 C:\Windows\System32
。

2．安装 PHP

(1) 解压缩下载的 php-5.2.17-Win32.zip 文件，并将其复制到：

X:\Server_Core\PHP ；

(2) 进入 X:\Server_Core\PHP 文件夹，将 php.ini-dist 重命名为 php.ini ；
(3) 打开 php.ini 文件，找到：
extension_dir = "./"
将其改为；
extension_dir = "X:\Server_Core\PHP\ext"
(4) 找到：Windows Extensions
在 Windows Extensions 下方的动态模块配置中，需要打开以下模块支持：（去掉模块配置每行前面的；号即可）
    extension=php_mbstring.dll
    extension=php_gd2.dll
    extension=php_MySQL.dll
(5) 找到：
disable_functions =
改为：
disable_functions = phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,
proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
(6) 保存 php.ini 文件，并将其复制到 C:\Windows\

3．IIS 与 PHP 的整合配置 － 新建一个网站

(1) 启动 IIS 管理器，并新建一个网站（虚拟主机）；如图 14 、15 所示：

(2) 输入网站名称，改名称仅为 IIS 中的标识，可任意输入。如图 16 所示：

(3) 网站IP地址不用填写，端口如没有特殊要求则保持 80 即可，最后正确输入网站域名。如图 17 所示：

(4) 在网站分区中建立 wwwroot 以及下级站点文件夹 bbs。如图 18 所示：

(5) 对于 PHP 应用，需要给予该站点"读取"和"运行脚本"的权限。如图 19 所示：

(6) 至此，已经成功的新建了一个站点。如图 20 所示：

4．IIS 与 PHP 的整合配置 － 使站点支持 PHP

(1) 打开刚刚建立的网站属性，如图 21 所示：

(2) 在站点属性窗口中，单击"主目录"页签，单击"配置"按钮，在新弹出的"应用程序配置"对话框中，单击"添加"按钮，加入 PHP 的 ISAPI 支持，选择可执行文件：X:\Server_Core\PHP\php5isapi.dll 、扩展名为 .php 、限制动作为：GET,POST 。单击"确定"添加，并在"应用程序配置"窗口中查看 .php 扩展是否加载成功。若成功，则单击"确定"关闭配置窗口，回到站点属性主窗口。如图 22 所示：

(3) 单击"文档"页签，在默认内容文档中添加 index.htm、index.html、index.php 三个文件，并将所有默认文档排序，顺序按照下图所示。完成后，单击"确定"，关闭站点属性配置窗口，回到 IIS 管理器主界面。如图 23 所示：

(4) 右键单击"Web 服务扩展"，添加 PHP 扩展支持。如图 24 所示：

(5) 在如下图所示的"新建WEB服务扩展"对话框中，"扩展名"填写PHP，"文件"选择 X:\Server_Core\PHP\php5isapi.dll ，并设置该PHP扩展默认为允许。如图 25 所示：

(6) 重启 IIS 服务，如图 26 、27 所示：

5、测试 PHP 支持是否正常

IIS与PHP的整合已经完毕，下面需要测试 PHP 支持是否正常。

(1) 进入 X:\wwwroot\bbs\ 目录，新建一个 phpinfo.php 文件，内容为：

phpinfo();

(2) 打开IE浏览器，输入：http://www.yourdomain.com/phpinfo.php ；

(3) 如果能够正常显示PHP支持信息则表明配置整合是成功的。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


CentOS5下Nginx 环境推荐教程

安装 —— CentOS5下Nginx 环境推荐教程

一、系统约定

软件源代码包存放位置 /usr/local/src
源码包编译安装位置(prefix) /usr/local/software_name
脚本以及维护程序存放位置 /usr/local/sbin
MySQL 数据库位置 /var/lib/mysql（可按情况设置）
网站根目录 /home/www/wwwroot（可按情况设置）
虚拟主机日志根目录 /home/www/logs（可按情况设置）
运行账户 www:www

二、系统环境部署及调整
1、检查系统是否正常
    # more /var/log/messages （检查有无系统级错误信息）
    # dmesg （检查硬件设备是否有错误信息）
    # ifconfig（检查网卡设置是否正确）
    # ping www.163.com （检查网络是否正常）
    # cat /proc/cpuinfo (检查CPU频率是否正常)
    # top (按1检测CPU核数是否正常，内存大小是否正常)
2、关闭不需要的服务
# ntsysv
以下仅列出需要启动的服务，未列出的服务一律推荐关闭：
    atd
    crond
    irqbalance
    microcode_ctl
    network
    sendmail
    sshd
    syslog
关闭SElinux：修改/etc/selinux/config文件中的SELINUX= 为 disabled
3、更换yum国内源
    # cd /etc/yum.repos.d
    # mv CentOS-Base.repo CentOS-Base.repo.save
    # 网易YUM源地址：http://mirrors.163.com/.help/centos.html ，你可根据服务器版本指定源文件进行下载（此行不做为命令运行 ）
    # wget http://mirrors.163.com/.help/CentOS5-Base-163.repo
     # mv CentOS5-Base-163.repo CentOS-Base.repo
    # yum clean all
4、服务器时间检查和设置
    #data (检查时间是否正确，是否是中国时间CST)
    #cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (如果时区不对，则执行，时间正常的跳过)
    #yum -y install ntp (安装ntp对时工具)
    #chkconfig ntpd on (让对时服务开机启动)
5、使用 yum 对系统进行更新并且安装必要软件包
    #yum update –y
    #yum -y install make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b
freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel
libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
6. 重新启动系统
# init 6
三、编译安装L.A.M.P环境
1、下载软件(截止到11年10月的最新版本)
    # cd /usr/local/src
    #wget http://sysoev.ru/nginx/nginx-0.7.63.tar.gz
    #wget http://download.scientificlinux.net/nginx
    #wget http://download.scientificlinux.net/php-fpm.conf
    #wget http://download.scientificlinux.net/nginx.conf
    #wget http://download.scientificlinux.net/fcgi.conf
    #wget http://download.scientificlinux.net/php-5.2.10.tar.gz
    #wget http://download.scientificlinux.net/php-5.2.10-fpm-0.5.13.diff.gz
    #wget http://download.scientificlinux.net/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz （32位系统）
    #wget http://download.scientificlinux.net/ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz (64位系统)
    #wget http://download.scientificlinux.net/mysql-5.1.39-linux-i686-glibc23.tar.gz (32位系统)
    #wget http://download.scientificlinux.net/mysql-5.1.39-linux-x86_64-glibc23.tar.gz (64位系统)
2、安装MySQL
    cd /usr/local/src
    tar zxvf mysql-5.1.39-linux-i686-glibc23.tar.gz
    mv mysql-5.1.39-linux-i686-glibc23 /usr/local/
    ln -s /usr/local/mysql-5.1.39-linux-i686-glibc23/ /usr/local/mysql
    groupadd mysql
    useradd -g mysql mysql
    chown -R mysql:mysql /usr/local/mysql
    chown -R mysql:mysql /usr/local/mysql-5.1.39-linux-i686-glibc23/
    cd /usr/local/mysql
    ./scripts/mysql_install_db --user=mysql
    cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    chmod 755 /etc/rc.d/init.d/mysqld
    chkconfig --add mysqld
    chkconfig --level 3 mysqld on
    cp ./support-files/my-huge.cnf /etc/my.cnf
    mv /usr/local/mysql/data /var/lib/mysql
    chown -R mysql:mysql /var/lib/mysql

编辑/etc/my.cnf

在 [mysqld] 段增加

    datadir = /var/lib/mysql
    skip-innodb
    wait-timeout = 10
    max_connections = 512
    max_connect_errors = 10000000

在 [mysqld] 段修改

    max_allowed_packet = 16M
    thread_cache_size = CPU个数*2

将 log-bin 注释

    service mysqld start
    bin/mysqladmin -u root password 'password_for_root'

其中引号内的password_for_root是要设置的root密码

3、安装Nginx
    cd /usr/local/src/
    tar zxvf nginx-0.7.63.tar.gz
    cd nginx-0.7.63
    ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_realip_module
    --with-http_addition_module --with-http_gzip_static_module --with-http_random_index_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module
    make
    make install
    cp /usr/local/src/nginx /etc/init.d/nginx
    chmod 755 /etc/init.d/nginx
    chkconfig --add nginx
    chkconfig nginx on
4、安装PHP和Zend
    cd /usr/local/src
    tar zxvf php-5.2.10.tar.gz
    gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1
    cd php-5.2.10
    ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/etc/cgi --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --enable-magic-quotes --with-mysql=/usr/local/mysql --with-pear --enable-sockets
    --with-ttf --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --enable-sysvsem --enable-sysvshm --with-libxml-dir=/usr --enable-force-cgi-redirect --enable-fastcgi --with-xmlrpc --enable-zip --enable-fpm
    make
    make install
    mkdir -p /usr/local/etc/cgi/
    cp php.ini-dist /usr/local/etc/cgi/php.ini
    mv -f /usr/local/src/php-fpm.conf /usr/local/php5/etc/php-fpm.conf
    groupadd www
    useradd -g www www
    echo 'ulimit -SHn 65535' >> /etc/rc.local
    echo '/usr/local/php5/sbin/php-fpm start' >> /etc/rc.local
    cd /usr/local/src
    tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
    cd ZendOptimizer-3.3.3-linux-glibc23-i386
    ./install

注意:第一个要填的路径是Zend安装路径，第二个是php.ini所在的路径，即/usr/local/etc/cgi
不要选重启apache

5、启动Nginx和php
    mv -f /usr/local/src/fcgi.conf /usr/local/nginx/conf/
    cp -f /usr/local/src/nginx.conf /usr/local/nginx/conf/nginx.conf
    mkdir -p /home/www/wwwroot
    ulimit -SHn 65535
    /usr/local/php5/sbin/php-fpm start
    service nginx start

在/home/www/wwwroot放入一个index.php，内容为
打开浏览器访问，即可看到phpinfo页面

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


安装说明

安装 —— PC_webserver 安装说明

服务器套件包自带php运行环境和Phpcms最新版，适合windows下的调试，支持系统：windows xp/win7/2003/2008等，安装过程极其简单。

服务器套件所包含的软件：

Apache/2.2.21
PHP/5.2.17
mysql-5.1.59
phpMyAdmin 3.4.5 多语言版本

下载地址：http://download.phpcms.cn/v9/9.1/pc_webserver_v9.exe

安装方法：

运行 pc_webserver.exe 文件

PHPCMS访问方式：

登录地址：http://localhost/admin.php
用户名：phpcms
密码：phpcms

PhpMyAdmin访问方式：

登录地址：http://localhost/phpmyadmin/
用户名：admin
密码：admin

启动服务器方法：

运行 D:\PC_webserver\Start.bat

关闭服务器方法：

运行 D:\PC_webserver\Stop.bat

卸载方法：

运行 D:\PC_webserver\Start.bat

注意：如果服务器已经安装了IIS（asp运行环境），安装此软件包就需要将IIS的端口号改为其它，或者关闭IIS,如果打开了迅雷下载：请先关闭迅雷。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


PHPCMS V9 安装说明

安装 —— PHPCMS V9 安装说明

本教程讲解的全新安装PHPCMS V9的方法（以虚拟空间上安装 PHPCMS V9为例演示）。

一、下载适合自己 PHPCMS V9 版本到本地或服务器

下载地址：http://www.phpcms.cn/html/download/

说明：官方提供了 2 种不同的编码。包括 GBK 简体中文版(推荐)、UTF-8 简体中文版。如果您的站点主要是国内会员，推荐您使用 GBK 版本。

二、解压并上传 PHPCMS V9程序到服务器且修改相应目录权限
1、上传 PHPCMS V9程序到服务器上

install_package 这个目录下面的所有文件是我们需要上传到服务器上的可用程序文件；
readme 目录为产品相关说明、帮助文档等；
将其中 install_package 目录下的所有文件使用 FTP 软件以二进制方式上传到空间（以下截图中使用的 FTP 软件为 FileZilla），如下图所示：

2、设置相关目录的文件属性，以便数据文件可以被程序正确读写

使用 FTP 软件登录您的服务器，将服务器上以下目录、以及该目录下面的所有文件的属性设置为 777，Win 主机请设置 internet 来宾帐户可读写属性。

./ 根目录
./caches
./html
./index.html
./uploadfile
./phpsso_server/caches
./phpsso_server/uploadfile

三、安装过程

上传完毕后，开始在浏览器中安装PHPCMS V9，用你的网站域名+'/install '(例如：“http://www.abc.com/install”)，进入准备安装界面：

阅读授权协议后点击“开始安装”，系统会自动检查环境，如下图所示：

点击“下一步”，即进入模块安装以及设置 PHPSSO界面，如下图所示

检测成功，点击“下一步”，即进入目录权限检测界面，如下图所示

检测成功，点击“下一步”，进入数据库信息配置界面

点击“下一步”，开始安装

安装完成

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


使用

一、简介

本章节主要介绍PHPCMS V9各功能菜单的使用方法与使用技巧

二、目录

我的面板

设置

模块

内容

用户

界面

扩展

phpsso

应用

返回目录
上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


使用 —— 后台主界面

后台主界面

1.菜单列表区

2.功能展示区

3.快捷工具区

4.官方链接，帮助区

5.风格切换区

6.主导航区

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


我的面板

使用 —— 我的面板

一、简介

“我的面板"用于显示和管理用户个人信息，是当你登陆系统时默认显示的页面。

二、功能演示

修改个人信息

修改密码

生成首页

返回目录


修改个人信息

使用 —— 我的面板 —— 修改个人信息

一、简介

  用于显示和修改用户个人信息。

二、功能演示

写入你的要修改的数据：真实姓名，E-mail，语言。 提交后，如提示成功则可完成修改操作，否则则提示错误消息。如下图所示：

返回目录


修改密码

使用 —— 我的面板 —— 修改密码

一、简介

  用于修改用户登录密码。

二、功能演示

录入你的旧密码和修改的密码。 提交后，如提示成功则可完成修改操作，否则则提示错误消息。如下图所示：

返回目录


生成首页

使用 —— 我的面板 —— 生成首页

一、简介

  用于生成站点首页。

二、功能演示

如下图所示：
点击“生成首页”。 如提示成功则可完成修改操作，否则则提示错误消息。

成功信息:

同时你也可以通过：当前位置菜单栏——>生成首页；进行生成首页。

返回目录


设置

使用 —— 设置

一、简介

    “设置"用于PHPCMS系统常用参数配置与管理员帐号维护。

二、功能演示

相关设置

管理员设置

返回目录


相关设置

使用 —— 设置 —— 相关设置

一、简介

用于站点管理，发布点管理，基本设置，安全配置，PHPSSO配置，邮箱配置，connect，管理员管理，角色管理等基本管理和系统的相关设置等。

二、功能演示

站点管理

发布点管理

基本设置

安全配置

PHPSSO配置

邮箱配置

connect

管理员管理

角色管理

返回目录


站点管理

使用 —— 设置 —— 站点管理

一、简介

V9引入门户级站群功能，所以此处的站点管理与系统站群系统紧密结合。以下资料介绍了站群和站点管理的相关知识。
*什么是站群？
所谓站群，是指建立在统一标准、统一技术构架基础之上，分级管理，分级维护，耦合程度低，信息可以实现基于特定权限共享呈送的网站集合。并不是把很多个网站集中在一起就可以称得上是站群了，一定是要：统一，分级管理，信息共享，单点登录才可以。站群实现了技术标准统一，能够互联互通，实行集群化管理，相对一致的网站运行和服务规范。 V9率先把只有大型门户网站才使用的站群系统引入到开源系统中。从而实现了一套CMS V9系统多站点、独立管理的功能，具有升级成本低，部署简单、管理方便等特点。而且对于安全控制，V9做到各个站点权限互相独立、操作互不影响。广泛适应于大型多站点网站、机构多站点应用等需求领域。

二、功能演示

1、添加站点

V9系统支持多站点发布，添加站点时可选择发布点，并且可以选择seo设置，站点模版，上传附件设置等选项。您可根据自己的需要进行选择性设置。如下图：

2、管理站点

管理站点信息（修改，删除）。如下图：

3、 站点切换

管理员可在不同站点间切换，并管理各站点内容。

返回目录


发布点管理

使用 —— 设置 —— 发布点管理

一、简介

V9 系统内置的发布点功能结合站群功能，通过发布点可将各子站点内容发布到不同的服务器上，轻松实现服务器集群部署。以实现负载的分离，更加符合大访问量网站的需求。为用户提供更好的用户体验。示意图如下

二、功能演示

何时使用发布点：

当你想把各站点数据分布部署到不同的服务器上时使用发布点。

如何使用：

步骤一、添加发布点 （点击这里）

步骤二、添加站点时指定发布点

步骤三、添加站点时设置的域名指向发布点所有在服务器或者目录(请在域名解析管理中心中解析处理 )

1、添加发布点

2、修改发布点

你可以根据自己的需要编辑修改你的发布点信息。

返回目录


基本设置

使用 —— 设置 —— 基本设置

一、简介

此基本配置，用以设置网站相关文件的存放目录。如CSS,JS,图片等。

二、功能演示

返回目录


安全配置

使用 —— 设置 —— 安全配置

一、简介

此配置，可设置后台登陆最大失败次数，以防密码被试出。 其它配置相对简单不在详述。

二、功能演示

如图：

返回目录


PHPSSO配置

使用 —— 设置 —— PHPSSO配置

一、简介

如系统启用了SSO，在 应用ID 处填写对应ID、及加密密钥。此数据和SSO里面的应用管理配置必须相同！请看图一，图二
图一：

图二：

二、功能演示

如图一和图二所示配置。注：其通信密钥：（图一）（图二）中的 加密密钥 必须相同，方可通信。

返回目录


邮箱配置

使用 —— 设置 —— 邮箱配置

一、简介

配置站点邮箱。

二、功能演示

如图：

返回目录


connect

使用 —— 设置 —— connect

一、功能演示

如图：根据自己需要配置 。配置相对简单不在详述。

返回目录


管理员设置

使用 —— 设置 —— 管理员设置

一、简介

    “设置"用于PHPCMS管理员帐号维护。

二、功能演示

管理员管理

角色管理

返回目录


管理员管理

使用 —— 设置 —— 管理员管理

一、简介

角色定位了拥有此角色的所有管理员权限，管理员可以为不同的角色成员分配不同的权限配置。

二、功能演示

1.成员管理

对该角色下所有管理员进行管理

2.角色编辑

编辑和添加操作相同，不做详述。

3.口令卡

V9系统集成了口令卡功能，使用户信息更见保密。下面我们做详细介绍。如下图：

点击“申请口令卡”后会提示申请成功.如下图：

注：申请口令卡成功后，请一定妥善保管生成的图片；如丢失，您将不能登录系统。建议以图片形式保存。
如下图是我申请的口令卡：

图6：

保存好您的口令卡图片后，您就可以重新登录系统测试您的口令卡了。如下图：

上图提示C7和D4，根据登录提示的信息。我们找到生成的口令卡图片"图6"的C7和D4位置。如下图所示：

我们找到对应的值为：C7——>559,D4——>756。我们将获得的对应值输入登录框中。如下图：

将登录成功。如登录失败，请检查是否输入错误，并重新输入。

返回目录


角色管理

使用 —— 设置 —— 角色管理

一、简介

角色定位了拥有此角色的所有管理员权限，不同的角色可以按需分配不同的权限配置。 定义了角色那么就可以应用到所有对应管理员上。

二、功能演示

V9角色管理可以做那些？：

可对不同站点，进行按功能菜单 和 栏目权限 二种分配方组合配置。

1、 添加角色

2、 角色管理

角色管理涉及 权限设置，栏目设置 及成员管理。具体如下：

A.权限设置

角色可对不同的站点进行权限设置。如下图：

B.栏目权限

如上也可以对不同站点进行权限设置

C.成员管理

对该角色下所有管理员进行管理（修改，删除，口令卡） ：

D.角色编辑

编辑和修改操作相同，这里不做详细介绍。

返回目录


模块

使用 —— 模块

一、简介

    “模块"用于用户管理系统自带或者用户自定义开发模块的设置以及配置的等。这里且说系统自带。

二、目录

表单向导

广告

新闻心情

短消息

投票

友情链接

评论

公告

模块管理

全站搜素

数据源

在线充值

手机门户

返回目录


模块管理

使用 —— 模块 —— 模块管理

一、简介

    “模块管理"用于用户管理系统自带或者用户自定义开发模块的设置以及配置的等。这里且说系统自带。

二、功能演示

表单向导

广告

新闻心情

短消息

投票

友情链接

评论

公告

模块管理

全站搜素

数据源

点评模块

物流模块

在线充值

短信平台

外部数据导入

手机门户

返回目录


模块管理

使用 —— 模块 —— 模块管理

一、简介

V9系统可以自定义开发模块（详情请参考V9二次开发指南）。可对模块的安装，卸载等管理。

二、功能演示

1.安装

将已经创建好的模块放在指定位置，运行后台后，在“模块管理”处会找到你创建的模块。如下图：

如模块配置和代码无问题，系统将提示安装成功，否则提示错误。安装成功后你就可以使用该模块了（详情请参考V9二次开发指南）。

2.卸载

安装后的模块如果你不需要，可进行卸载。如下图：

返回目录


在线充值

使用 —— 模块 —— 在线充值

一、简介

V9系统开发集成了常用的支付接口，你只需根据情况填写参数即可。

二、功能演示

1.支付模块

系统默认是没有安装的，使用前请先安装。请根据需要进行修改和卸载。

2.充值记录（在线充值）

供用户和管理员查询会员充值记录。

3.充值入账

为指定会员充值积分和金钱。

4.消费记录

供用户和管理员查询会员消费记录。

5.在线充值统计

供用户和管理员查询会员在线充值统计（财务总计，查询统计）。

返回目录


短信平台

使用 —— 模块 —— 短信平台

一、简介

用于管理短信平台的配置 查看消息记录 充值记录 短信群发等。

二、功能演示

1.如何开通短信服务

1、登录PHPCMS官网 http://www.phpcms.cn
2、注册用户并登录进管理中心
3、短信通服务中心-》开通短信服务
4、获取相关产品信息，并配置到网站短信平台设置项

申请开通短信通服务

记录相关短信通账号和密码，以便进行后台配置

1.平台设置

相关的账号和密码，请看上面图片所示位置！

2.消费记录查看

3.充值记录查看

4.短信API

可自行进行菜单查看官方提供的短信API，以用于短信服务的二次开发功能！

5.短信群发

6.会员模型中使用短信验证字段

V9官网在新版本的系统中，内置短信验证字段，只需要简单添加字段，即可实现会员注册时短信验证码的使用！

添加短信验证字段

前台验证效果图示！

返回目录


物流模块

使用 —— 模块 —— 物流模块

该功能包含在企业黄页商业版中

一、简介

物流模块结合黄页模块为商家提供多样化、自定义的物流运费管理功能。

二、功能演示

1.模块配置

2.运费模版设置

企业黄页会员，在商务中心可建立多个物流模版！并为每个物流模版定义不同的收费标准，供添加产品时重复、高效使用！

3.发布产品使用物流功能

3.页面显示效果

返回目录


万能数据导入

使用 —— 模块 —— 万能数据导入

此功能需要单独安装后方可显示使用

一、简介

1. 支持信息、会员、及任何指定表导入功能
2. 支持ACCESS数据内容导入
3. 支持自动获取指定数据库配置的表信息
4. 自动记录历史导入信息，防止重复导入
5. 支持栏目对应设置，及会员组对应关系配置
6. 支持字段默认值设置，及处理函数定义。

快速访问

内容导入 --- 会员导入 --- 其它导入规则 --- 使用常见问题

二、功能演示

1.外部数据导入配置列表

2.添加数据导入规则

按导入规则下面分别对 信息 、会员 、其它类型进行介绍！

2.1 信息导入规则

选择 信息导入规则 类型

填写相关配置

接下来就是选择字段的对应关系， 这个和08的操作是一样的。 简单介绍如下图：

最后为各栏目的对应关系设置和每次导入多少条的配置，如下图所示：

添加完成后，在配置列表页可看到如下图，点击 “执行”，即可进行数据的导入。导入结果对比

2.2 会员导入规则

会员的导入和信息导入操作原理是一样的，只不过配置的表和字段不同而已。如下图所示：

会员字段对应，如下图：

会员组对应关系设置：

（会员各会员组的对应关系设置）
最后保存配置，执行数据导入，这样就把会员数据给导入到V9里来。 但是由于08和V9的会员密码加密方式不一样，所以还需要在PHPSSO管理中心做如下配置，很重要！ 否则导入的会员将无法登陆！

2.3 其它导入规则： ACCESS数据库导入演示

选择其它类型，下一步

配置ACCESS的各项配置

选择要导入的数据库，这里我们选择link表（友情链接的数据表）。

配置各字段的对应关系，因为ACCESS里并没有V9友情链接必须的字段，所以在站点ID，linktype（链接类型），passed(链接状态) 等字段设置默认值。
这样配置完成以后，就可以对配置执行。

最后的执行效果！

2.4 使用常见问题

1、注意来源数据的主键字段指定
2、如导入错误，需重新导入，请修改 “上次导入最大ID” 项的值
3、操作前，请务必做好系统备份！
返回目录


点评模块

使用 —— 模块 —— 点评模块

此功能需要单独安装后方可显示使用

一、简介

为系统提供不同类型的点评功能！

二、功能演示

1.添加点评类型

版位类型：矩形横幅，固定位置，漂浮移动，对联广告，图片轮换广告，图片列表广告，文字广告，代码广告。这里不做详细展示介绍。

2.点评分类管理

3.点评信息管理

4.前台页面如何调用点评功能

返回目录


表单向导

使用 —— 模块 —— 表单向导

一、简介

V9系统开发表单向导，方便用户使用表单提交。

二、功能演示

1.添加表单

2.管理表单

可根据需要进行信息列表查看，添加字段，管理字段，预览，修改，禁用，删除，统计等。

3.添加字段

字段类型：字段的类型，是选择项。选值为：单行文本，多行文本，编辑器，选项，图片，多图片，数字，日期和时间，联动菜单。可根据自己需要选择。
字段类型：字段的类型，其只能由英文字母、数字和下划线组成，并且仅能字母开头，不以下划线结尾。
字段别名：别名
字段提示：获得焦点时的提示
文本框长度：数据长度范围，如果不想限制长度请留空（如果选择第一项为文本，则显示此项。）
默认值：不填时默认的值（如果选择第一项为文本，则显示此项。）
是否为密码框：选择“是”，则为密码框，反之亦然。（如果选择第一项为文本，则显示此项。）
字符取值范围：数据长度范围，如果不想限制长度请留空
数据校检正则：正则表达式
数据校检未通过提示的信息：不满足正则表达式时提示的错误信息
禁止设置字段值的会员组：控制会员组使用该字段的权限

4.管理表单字段

对指定表单字段进行修改，禁用，删除管理。

5.表单预览

6.添加公共字段

公共字段和表单字段相同，唯一不同的是公共字段在任何表单里面都可以通用。

7.模块配置

返回目录


手机门户

使用 —— 模块 —— 手机门户

一、简介

V9系统开发手机门户，方便手机用户浏览本站点。

二、功能演示

1.添加站点

注:一个站点只能添加一个手机门户。

2.管理站点

站点修改，删除和分类的管理。

3.分类管理

输入（或选择）修改（或添加）的内容。点击“提交”完成保存操作。

返回目录


广告

使用 —— 模块 —— 广告

一、简介

增加网站的推广与合作。

二、功能演示

1.添加版位

版位类型：矩形横幅，固定位置，漂浮移动，对联广告，图片轮换广告，图片列表广告，文字广告，代码广告。这里不做详细展示介绍。

2.版位管理

3.添加广告

操作步骤：模块——>模块管理——>广告———>广告列表——>添加广告

4.广告管理

5.重新生成JS（注：当你修改了广告配置时，请重新生成。）

6.配置

可对广告进行配置管理，如下图：

返回目录


新闻心情

使用 —— 模块 —— 新闻心情

一、简介

心情是网站为浏览者提供了一个表达心情的互动模块。 管理员可在后台手动添加心情类型，并设置对应图片。 可浏览查看心情信息。

二、功能演示

1.添加新的心情

a. 复制心情图片至 statics\images\mood 目录

b. 心情配置添加新复制的图片心情，提交。如下图

前台显示如下：

2.新闻心情

查看所有新闻心情。

3.心情配置

不同心情的修改与配置。

返回目录


短消息

使用 —— 模块 —— 短消息

一、简介

1、会员之间的短消息来往
2、管理员的群发短消息推送
3、会员投稿送审的反馈结果（也可以应用于其它功能需求里，当然这个要进行二次开发）

二、功能演示

1.群发短消息

顾名思义，是群发短消息给不同的群组。这里会涉及到群组问题。这里需要配置一下，请转到用户组页面（位置：用户 > 会员组管理 > 管理会员组 >）就能看懂了。
具体如下图：

2.群发短消息管理

3.发送短消息（针对指定用户，不能为本人）

2.短消息

管理自己的短消息，如下图：

返回目录


投票

使用 —— 模块 —— 投票

一、简介

系统的投票功能提供了两种投票类型,第一个是单选投票.第二种是多选投票.网站编辑人员可以根据实际的需求,选择类型进行操作。
何处使用投票： 常用于首页、内容页、及专题页面。所有你想放投票的区域。
如何使用： 只需要根据投票所放位置不同，复制对应代码到模版里即可。
系统信息发布页 和 专题管理内置提供了投票选择功能，只需手动点选，即可添加投票。
针对不同位置CSS样式不同，系统提供了三种常用调用代码： 首页/栏目页，内容页，JS调用。 具体调用代码，请查看投票调用代码。
功能项； 投票常用功能： 设置投票奖励积分，防刷票，查看投票者信息。

二、功能演示

1.添加投票

投票标题：标题
选项类型：1，单选：只允许用户选择一项。2，多选：允许用户选择一项或多项。
增加选项：增加投票的选项
投票选项：投票选项
上线时间：开始投票时间
下线时间：结束投票的时间
投票介绍：投票介绍
查看投票结果：1，允许（允许用户查看投票结果）2，不允许（不允许查看投票结果）
允许游客投票：1，允许（允许游客投票）2，不允许（不允许游客投票）
奖励积分：如果投票用户为会员，则奖励积分

2.管理投票

对投票进行统计，修改，调用JS，删除等操作。

3.查看统计

查看投票统计，还可以查看投票的会员。（如上图）

3.投票配置

设置投票的风格，模板，时间间隔等。

3.更新JS

位置：模块 > 模块管理 > 投票 > 更新JS
当你重新配置投票后，请重新获得JS，然后进行引用。

返回目录


友情链接

使用 —— 模块 —— 友情链接

一、简介

可管理友情链接分类、添加、修改友情链接，审核交换链接的申请！

二、功能演示

1.添加友情链接分类

风格列表

2.添加友情链接

3.友情链接管理

风格列表

4.友情链接分类管理

5.友情链接配置

风格列表

6.友情链接审核

返回目录


评论

使用 —— 模块 —— 评论

一、简介

增加用户与用户，用户与管理员互动与交流。

二、功能演示

1.评论模块配置

2.评论管理

以一篇新闻的评论为例：

管理操作如下：

你可以根据自己的需要进行配置和操作。

返回目录


公告

使用 —— 模块 —— 公告

一、简介

用于管理添加公告 添加新公告 审核公告 审核公告 公告下线 公告到期下线 等。

二、功能演示

1.添加

2.审核

3.公告下线

返回目录


全站搜索

使用 —— 模块 —— 全站搜索

一、简介

用于管理添加搜索分类，模块配置，重建索引等。

二、功能演示

1.添加分类

2.模块配置

基本配置：

sphinx全文索引配置：

3.重建索引

返回目录


数据源

使用 —— 模块 —— 数据源

一、简介

如果需要调用本系统之外的数据库，可以通过数据源管理来保存数据库服务器配置信息，调用的时候通过数据源调用代码可以进行调用了。

二、功能演示

1.添加数据源

数据源调用配置有二种方法：

A,模型配置调用:

选择模型，并选择对应模型提供的操作（模型提供的操作，请查阅 模型标签 帮助）

B,自定义SQL:

2.数据源管理

数据源修改和删除管理。如下图：

3.外部数据源

A,添加外部数据源:

B,管理外部数据源

外部数据源修改和删除管理。如下图：

返回目录


黄页模块

使用 —— 黄页模块

该模块需要单独安装

一、黄页模块

1、支持绑定一级域名、二级域名
2、模型自定义、分类支持批量多级添加
3、首创附属字段，同模型之间内容差异化
4、支持设置商家资质证书、主营行业数量及商家信息日发布数量
5、支持在线交易、产品对比、购物车、商品点评、商家信用等级体系

二、黄页模块下载地址

黄页模块商业版下载地址
黄页模块免费版下载地址

三、黄页模块功能演示

模块配置

分类管理

黄页模型管理

企业模版管理

信息管理

企业库管理

批量更新URL

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


模块配置

使用 —— 黄页 —— 模块配置

一、简介

黄页模块的基本设置

二、基本设置

三、SEO设置

二、权限设置

返回目录


分类管理

使用 —— 黄页 —— 分类管理

一、简介

本菜单的功能，主要是用来设置黄页模块中，企业库分类、新闻分类、产品分类、及商机分类的相关管理，因这几项管理操作都非常类似，这里只以企业库管理为例进行说明（其它分类管理参考于此）。

二、企业库分类管理
1.添加企业库分类

关于分类的附属字段设置，请点击这里！

2.修改企业库分类

企业分类的修改和添加比较类似，一看即明！

3.企业库分类管理

4.企业库分类之-附属字段管理

返回目录


黄页模型管理

使用 —— 黄页 —— 黄页模型管理

一、简介

可以对黄页模块所用模型维护、修改属性、删除、导出、字段管理。

二、添加黄页模型

二、管理黄页模型

三、字段管理

黄页模型的字段管理和内容、会员等模型管理功能基本一样。

返回目录


企业模版管理

使用 —— 黄页 —— 企业模版管理

一、简介

黄页企业所使用模版的添加、修改、及管理。

二、添加黄页企业模版
企业模版的位置是： phpcms\templates\default\yp\com_default(com_default:为企业模版名称)

二、企业模版管理

三、企业模版的权限设置

返回目录


信息管理

使用 —— 黄页 —— 信息管理

一、简介

管理黄页企业各模型对应的信息，可进行查看、修改、删除、审核等操作。

二、功能演示
信息管理，对应的各栏目为各模型下对应的分类，不明之处请看 分类管理

返回目录


企业库管理

使用 —— 黄页 —— 企业库管理

一、简介

管理黄页企业的注册企业信息，可进行查看、修改、删除、审核、推荐等操作。

二、企业库管理

三、资质证书管理
可对企业上传的资质证书进行统一查看管理。

返回目录


PHPCMS V9帮助手册

使用 —— 黄页 —— 批量更新URL

一、简介

主要用来操作黄页模块的相关更新操作 !

1、仅当启用、关闭伪静态时，请批量更新所有链接地址，除此，不需要更新 。
2、启用伪静态在模块配置里。
3、更新企业URL，只需选中企业库模型即可，不必选分类。

二、功能演示

返回目录


内容

使用 —— 内容

一、简介

用于内容发布管理，发布管理,相关设置,栏目管理，模型管理等。

二、功能演示

内容发布管理

发布管理

内容相关设置

返回目录


内容发布管理

使用 —— 内容 —— 内容发布管理

一、简介

用于内容发布管理，发布管理以及内容相关设置的管理。

二、功能演示

管理内容

附件管理

专题

碎片管理

采集管理

批量更新栏目页

批量更新URL

批量更新内容页

同步到发布点

管理栏目

模型管理

类别管理

推荐位管理

返回目录


管理内容

使用 —— 内容 —— 管理内容

一、简介

内容的添加，删除，修改，审核，移动等管理 。

二、功能演示

1.添加内容

这里介绍5个难点，其他相对比较简单，这里不做介绍。

A,同时发布到其他栏目

点击“同时发布到其他栏目”按钮时弹出如下页面：

选择需要同时发布到的栏目，提交后。在你选择的栏目中会存在此内容。

B,推荐位

可以同时选择多个推荐位，你只需根据推荐位ID进行模板调用。（详情请参考V9标签使用说明）

C,添加投票

一篇内容只能添加一项投票，你可以选择已有投票。也可点击“新增投票”按钮进行新增投票。（详情请参考投票）

D,添加相关

添加此内容的相关文章。点击“添加相关”按钮弹出如下网页：

你可以选择不同栏目的内容进行关联。如下图我已经添加一条相关的内容"测试内容"

E,转向链接

当你选择转向链接时，你访问该内容时会转向到你指定的网址。

2.内容管理

可以选择内容进行修改，评论管理，排序，推送，批量移动，删除等。

A,推送:

可以选择内容推送到推荐位，专题和其他栏目。如下图：

B,批量移动:

可以指定ID或指定栏目移动到右边的目标栏目。如下图：

返回目录


附件管理

使用 —— 内容 —— 附件管理

一、简介

管理当前站点通过上传控件上传的附件，包括图片，压缩包等上传文件。

二、功能演示

1.附件管理

A.搜索

可根据自己需求输入名称，时间段和附件类型进行附件搜索。

B.模块名称

根据自己需求选择模块名称进行搜索。搜索出的数据是选择的模块名称内的所有附件。

C.附件名称

根据自己需求选择“已使用“或”未使用“的附件。

D.预览和删除

查看附件点击”预览“按钮，删除附件点击”删除“按钮。请注意：删除之后的附件无法恢复。

E.切换至目录模式

以目录的方式查看和管理附件。如下图：

F.附件地址替换

请认真阅读提示信息。

返回目录


专题

使用 —— 内容 —— 专题

一、简介

专题是指所有内容的聚合。

二、功能演示

1.添加专题

A.更新HTML

当你的专题选择生成HTML，你修改了该专题时，必须重新更新HTML使你的静态页面更新。

2.专题管理

A.添加信息

和添加内容相同，其中要选择专题类别。如下图所示：

B.管理信息

管理（添加，修改，删除，排序，浏览，信息导入）对应专题下的信息。如下图所示：

C.导入信息

选择本站点的信息导入到该专题中。如下图：

D.维护模板

即查看浏览模板。

E.推荐专题

把专题设置为推荐专题，方便调用和区别专题。

F.专题评论

查看和管理专题的评论。

G.修改专题

修改专题。和添加相同。输入修改信息提交即完成操作。

G.修改专题

修改专题。和添加相同。输入修改信息提交即完成操作。

G.删除专题

删除该专题。

返回目录


碎片管理

使用 —— 内容 —— 碎片管理

一、简介

碎片是什么？把一个完整的页面理解成由许多块组成，而每一个“块”我们就可认为就是一个”碎片“！
这样，我们在页面放置一些碎片，在以后的维护维护中，只需要对碎片进行维护！
碎片功能支持完全手动更新，并且可以搜索内容，可恢复数据至任何历史版本，常用于专题制作和首页频繁更新的内容。 您可以在模板中直接插入 {pc:block pos="index_block_1"}{/pc} 格式的碎片标签，然后进后台模板管理点击“可视化”即可看到添加碎片的链接。
碎片标签说明：
1、碎片标签{pc:block pos=""}{/pc}pos是指定碎片显示的位置
2、参数“index_block_1”是当前页面的碎片位置，保证同一页面不重复即可

二、功能演示

1.添加碎片

添加碎片标签

想在模板中使用碎片功能，首先要手动修改模板文件添加碎片表示位(即碎片标签)，现在以在首页添加碎片表示位为例：

争议

                  {pc:block pos="index_block_1"}{/pc}

如下图，点击“添加碎片”添加碎片

A，当选择类型为”代码型“。碎片添加成功后，如下图：

提交成功后。前台显示如下图：

B，当选择类型为”格式化数据型“。碎片添加成功后，如下图：

点击”提交“后，显示如下图：

提交成功后。前台显示如下图：

从上面的介绍我们不难看出:选择”代码型“的时候我们只能输入单条信息。选择”格式化代码型“时我们可以添加图文信息列表。我们可根据自己需要进行选择操作。

修改

当我们留言碎片管理的页面时，会发现之前我们的PC标签位置都会出现”修改“。点击”修改“可以对PC标签进行修改。如下图：

A，列表：

B，推荐位：

C，子栏目：

D，相关文章：

E，排行榜：

2.碎片管理

可对碎片进行管理（更新内容，修改，删除）。如图：

返回目录


采集管理

使用 —— 内容 —— 采集管理

一、简介

文章的采集功能是通过程序来远程获取目标网页内容，经过本地规则解析处理后存储到服务器的数据库内。
文章采集系统颠覆传统采集模式和流程，采集规则与采集界面分离,规则设置更简单，只需有基础技术知识的人员设置好相关规则。
编辑人员无需了解太过细节的技 术规则，只需选中自己想要采集的文章列表，就可以像发布文章一样，轻松地完成数据采集操作。

二、功能演示

一、采集流程 简单的讲有三个步骤： 1、添加采集点，填写采集规则。 2、采集网址，采集内容 3、发布内容到指定栏目
以采集新浪新闻(http://roll.news.sina.com.cn/news/gjxw/gjmtjj/index.shtml)为例，作一下详细流程介绍。
实例说明： 目标：采集新浪新闻到V9系统 “国内” 栏目中。 目标网址：http://roll.news.sina.com.cn/news/gjxw/gjmtjj/index.shtml 1、添加采集点 2. 网址规则配置

1. 添加采集点，填写采集规则

A.内容规则

注：上图的“目标网页源码”是指：目标网页的源代码。具体步骤如下：
目标网页——>右键——>查看源代码——>找到你要采集的源代码开始和结束，按“上图”填写规则。

添加成功后，测试你的网址采集规则是否正确,如下图所示：

B.内容规则配置

为了便于说明，我们只采集标题、内容两个字段。
采集内容网址：http://news.sina.com.cn/w/2010-12-01/135121565455.shtml 的内容采集规则，请你打开这个网址，然后页面空白处右键->查看源文件搜索标题和内容的开始边界。

标题采集配置： 从网页<title></title>里取标题，并去除不需要的字符。如下图

内容采集配置： 新浪新闻最终页，新闻内容都包含在 <!-- 正文内容 begin --> <!-- 正文内容 end --> 之间，而且这二个结点，在整个页面源代码中具有唯一性。所以可以以此为规则取内容。并对内容进行过滤。如下图

C.自定义规则

除系统自带的规则外，可根据自己需求进行自定义规则采集。操作和系统规则相同，如下图：

D.高级配置

可设置是否把图片下载到服务器上，是否打水印等配置。如下图所示：

2. 采集管理

添加采集点测试成功后，你可以管理你添加的采集点（采集网址，采集内容，内容发布，测试，修改，复制，导出）.如下图所示：

A.采集网址

采集采集点的网址。

B.采集内容

采集采集点的内容。

C.内容发布

将采集的内容发布到指定栏目中。如下图所示：

点击“导入”，跳转到选择栏目页面。如下图所示：

点击“提交后”，跳转到栏目配置设置页面。如下图所示：

提交成功将采集内容导入到指定栏目（如下图所示）。在此期间请耐心等待， 完成后会自动转向。至此一个简单的采集流程就操作完成。在指定的栏目下已经存在你采集的内容信息。

返回目录


评论管理

使用 —— 内容 —— 评论管理

通过此处可以删除、审核文章评论

你可以根据自己的需要进行配置。

返回目录


发布管理

使用 —— 内容 —— 发布管理

一、简介

用于生成静态，更新URL等。

二、功能演示

批量更新栏目页

生成首页

批量更新URL

批量更新内容页

同步到发布点

返回目录


批量更新栏目页

使用 —— 内容 —— 批量更新栏目页

一、简介

方便用户更新栏目页，无需手动去更新各栏目。只需选择就能批量更新栏目页。

二、功能演示

1.批量更新栏目页

选择需要更新的模型和栏目，输入每轮更新的信息数目提交则完成批量更新栏目页操作。如下图所示：

返回目录


批量更新URL

使用 —— 内容 —— 批量更新URL

一、简介

方便用户在设置URL规则时更新url，无需手动去更新各页面URL。只需选择就能批量更新URL即可。

二、功能演示

1.批量更新URL

1、仅当内容页URL规则发上变化时，请批量更新，地址未改变时，不需要更新 。
2、规则设置：设置 > 相关设置 > 管理栏目 > 添加或修改栏目
选择需要更新的模型和栏目，输入每轮更新的信息数目提交则完成批量更新URL操作。如下图所示：

返回目录


批量更新内容页

使用 —— 内容 —— 批量更新内容页

一、简介

方便用户在生成静态页面完成后，无需手动去更新各内容页。只需选择就能批量更新内容页即可。

二、功能演示

1.批量更新内容页

1、当设置有发布点时，生成静态页面完成后，请访问 内容 > 发布管理 > 同步到发布点 >
选择需要更新的模型和栏目，输入每轮更新的信息数目提交则完成批量更新内容页操作。如下图所示：

返回目录


同步到发布点

使用 —— 发布管理 —— 同步到发布点

V9 系统内置的发布点功能结合站群功能，通过发布点可将各子站点内容发布到不同的服务器上，轻松实现服务器集群部署。以实现负载的分离，更加符合大访问量网站的需求。为用户提供更好的用户体验。

在配置过发布点管理后，可以通过此处同步数据到各个发布点.

返回目录


内容

使用 —— 内容 —— 内容相关设置

一、简介

用于栏目管理、模型管理、类别管理等。

二、功能演示

管理栏目

模型管理

类别管理

推荐位管理

返回目录


管理栏目

使用 —— 内容 —— 管理栏目

一、简介

方便用户在生成静态页面完成后，无需手动去更新各内容页。只需选择就能批量更新内容页即可。

二、功能演示

1.添加栏目

a,基本选项

b,生成HTML设置

c,模板设置

d,SEO设置

e,权限设置

h,收费设置

2.添加单网页

添加单网页和添加栏目操作基本相同，不同点是：
1，单网页取消了“收费设置”项。
2，单网页相当于内容页，只能是单一的信息页。如下图：

2.管理栏目

a,添加测试栏目

添加成功后，到“栏目管理”找到添加的外部链接，点击“访问”（如下图）就跳转到指定页面了。

b,批量编辑

注：在选择栏目类型时，如选择编辑的栏目是“管理栏目”类型，则选择的栏目的类型不能为“单网页”。反之选择编辑的栏目是“单网页”时，右边选择的栏目类型必须为“单网页”。
提交后，批量编辑页面如下：

返回目录


模型管理

使用 —— 内容 —— 模型管理

一、简介

可以对模型维护、修改属性、删除、导出、字段管理。

二、功能演示

1.添加模型

2.管理模型

A.字段管理

可以对该模型下的字段进行管理（添加，删除，修改，禁用，预览）。如下图所示：

3.导入模型

用于已经在其他站点添加并且导出的模型。如下图所示：

返回目录


类别管理

使用 —— 内容 —— 类别管理

一、简介

方便用户管理站点内容。

二、功能演示

1.添加类别

填写类别基本信息，选择对应栏目。如下图所示：

添加成功后，在对应栏目内容添加时就可以选择类别。如下图所示：

2.管理类别

对类别进行管理(排序，删除，修改)。如下图所示：

返回目录


推荐位管理

使用 —— 内容 —— 推荐位管理

一、简介

推荐位是指管理员可以把信息推送至网页上指定的位置，也可以随时把信息从指定的位置撤下来，从而达到信息精准投放的目的。

二、功能演示

操作步骤：
1、进入“添加推荐位”，可以添加推荐位。
2、进入“管理推荐位”，您可以了系统的解推荐位列表，并且管理当前系统的推荐位。
3、进入“内容——>推荐位管理——>信息推荐”，您可以把需要推荐的信息推送到指定的推荐位；
4、进入“内容——>推荐位管理——>信息管理”，您可以了解推荐位当前的信息列表，可以把指定的信息从该推荐位撤下来。

1.添加推荐位

2.管理推荐位

对推荐位进行管理(信息管理，删除，修改)。如下图所示：

3.信息管理

对推荐位信息进行管理(信息管理，移出，修改，浏览，排序)。如下图所示：

A.信息管理

对推荐位信息进行基本信息管理。如下图所示：

返回目录


用户

使用 —— 用户

一、简介

本功能主要用于管理系统注册用户，配置系统用户组及会员模型！

二、功能演示

会员管理

会员组管理

会员模型管理

返回目录


会员管理

使用 —— 用户 —— 会员管理


审核会员

使用 —— 用户 —— 审核会员


会员模块配置

使用 —— 用户 —— 会员模块配置


会员组管理

使用 —— 用户 —— 会员组管理

一、简介

会员组是系统中不同级别和类型的会员组别，通过设置不同的会员组的权限，来实现网站会员差异化运营。

二、功能演示

1.添加会员组

2.管理会员组

3.修改会员组

返回目录


会员模型管理

使用 —— 用户 —— 会员模型管理

一、简介

此功能可管理系统中会员模型、字段、以及模型的导入和导出功能。

二、功能演示

1.添加会员模型

2.管理会员模型

3.会员模型字段管理

返回目录


界面

使用 —— 界面

一、简介

1.用于管理站点的前台模版页面 2.标签向导主要用于自动化生成数据调用标签。

二、功能演示

模版风格

标签向导

返回目录


模版管理

使用 —— 界面 —— 模版管理

一、简介

管理系统风格和对应模版信息。如设置允许，还能在线编辑模版文件！

二、功能演示
说明：为了安全起见，请把 caches\configs\system.php 文件中 'tpl_edit'=>1,//是否允许在线编辑模板 =》'tpl_edit'=>０,//０代表不允许前台编辑模版

模版存放路径：phpcms\templates\default default:为风格名称 ，你可以在网站内放置多套不同的风格

1.模版管理

风格列表

风格各模块对应文件夹

各模块内模版文件

2.模版文件在线编辑

返回目录


标签向导

使用 —— 界面 —— 标签向导

一、简介

使用标签向导，让你在不太了解系统标签的情况下，也能按配置向导调取自己想要的数据。

二、功能演示

1.标签向导有什么用？

有什么用？：不用手写V9标签调用语法，也能根据向导配置出所需数据的代码。

2.添加标签向导
模块配置向导
按模型配置来生成GET标签（上图所示）
自定义SQL
自定义SQL生成标签（上图所示）
碎片
碎片标签（上图所示）

3.管理标签向导

4.如何使用标签

5.常用标签分享

1、调用栏目ID为12的文章，按ID倒序排列，调取5条

{pc:content action="lists" catid="12" order="id DESC" thumb="" moreinfo="1"  num="5" }
{loop $data $n $r}

  • {$r['title']}
    •
{/loop}
{/pc}

    2、以SQL方式，从数据源1014_website,调取最新的5条新闻，并按倒序排列

{pc:get sql="SELECT title,url FROM v9_news order by id desc" num="5" dbsource= "1014_website" }
{loop $data $n $r}

  • {$r['title']}
    •
{/loop}
{/pc}

    3、以碎片方式

{pc:block pos="介绍"}
{/pc}

    返回目录


扩展

使用 —— 扩展

一、本功能块说明
1.功能块简介

本功能块主要集中了全站各个模块的一些扩展属性，能够更加直观快速的进入所需的功能页面！

二、术语约定
1.导航栏

在本功能块下 导航栏 统一指整站的头部导航，既如下图所示：

2.菜单栏

在本功能块下 菜单栏 统一指扩展导航栏下的左侧菜单，既如下图所示：

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


附加字段管理

使用 —— 扩展——附加字段管理

一、功能说明

对黄页分类进行扩展，使之具有自定义模型一般的灵活性

注：本功能默认并不存在，需先安装黄页模块

二、子功能导航
1.添加字段
2.使用字段
三、功能详解
1.添加字段

附加字段的添加和基本模型的自定义字段一致

2.使用字段

导航栏 选择模块 -> 菜单栏 选择 企业黄页下面的 分类管理 -> 子导航 添加产品分类

点击后在弹出的新窗口中选择附属字段管理显示如下图

勾选上您添加的附加字段即可

然后切换到前台添加产品信息，产品类型选择刚刚添加的分类，页面下部就会自动显示出附加字段，如下图：

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


在线升级

使用 —— 扩展——在线升级

一、本功能说明

本节提供了在线升级网站程序以及网站核心文件效验功能

二、子功能导航
1.在线升级
2.文件效验
三、功能详解
1.在线升级

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择在线升级

2).界面解释

进入后程序会自动获取是否有新版本，如果没有则显示如下界面

如果有新的版本则显示如下界面

这时候只要点击开始升级程序就会自动开始下载相应的补丁包，然后自动安装！

注意事项：
本功能需要写入文件，操作前请务必确认您网站下的所有文件以及文件夹具有写权限！
本功能会覆盖文件，使用前请注意您的程序是否经过二次开发，模版是否经过修改！
如果开发过那么请放弃使用本功能，手工进行升级，如果使用的费默认模版请勿勾选覆盖模版 切记！切记！

2.文件效验

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择在线升级 -> 文件效验

2).界面解释

程序在效验结束以后将会列出当前程序和默认文件的不同之处，如下图所示：

页面下部详细列出了疑似有问题的文件详细列表，这时候您只需要使用默认文件进行对比即可确认是被非法修改过的！

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


信息模型设置

使用 —— 扩展 —— 信息模型设置

此功能需要安装信息模型后方可显示使用

一、本功能说明

本功能主要是针对信息模型功能参数的相关配置

二、具体说明

1.信息模型所管理的联动菜单ID，详情查看菜单管理
2.前台数据查询结果的缓存时间，0为不缓存，推荐配置为60。
3.设置为“是”则前台联系方式以图片形式显示。开启此功能可以防止您的网站用户信息被采集，如图：

4.设置为“是”则启用多城市版分类信息
5.此处填写您在栏目中添加的如“房产”,“二手”等分类栏目的父级频道ID
6.应用于信息模块的，模型modelid。如果是多个请用“,”分隔
7.信息模型不同级别置顶价格及与其绑定的推荐ID配置

1.多城市中城市配置，绑定城市ID处填写城市的联动菜单id，详情查看菜单管理

返回目录


前台菜单管理

使用 —— 扩展——前台菜单管理

一、功能说明

本节主要是对前台会员中心顶部的导航菜单进行管理

二、功能导航
1.菜单管理页面
2.菜单添加页面
3.菜单编辑页面
三、功能详解
1.菜单列表

菜单管理页面显示了当前所有的菜单，同时集成了排序、删除功能,如下图：

2.添加菜单

用于添加新的菜单,详细说明如下图所示：

例1：添加内部菜单

例2：添加外部菜单

3.编辑菜单

编辑菜单就不详述其步骤了，在菜单列表页面点击欲修改的菜单右侧的编辑按钮就会出现编辑窗口，填写方法和添加菜单完全一样：

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


来源管理

使用 —— 扩展——来源管理

一、功能说明

本功能提供了信息来源的管理，能让您在发布信息的时候能够输入来源，无需手工填写大大节省了您的时间

二、子功能导航
1.添加来源
2.管理来源
3.编辑来源
4.作用区域
三、功能详解
1.添加来源

1).如何进入本功能

导航选择扩展 -> 菜单栏选择 来源管理 -> 添加来源

2.)界面解释

初始状态下是没有来源信息的，如下图所示：

点击添加来源以后弹出如下界面：

填写完成以后点击右下角的确认按钮即添加完成！

2.管理开源

1).如何进入本功能

导航选择扩展 -> 菜单栏选择 来源管理 -> 添加来源

2.)界面解释

如果上一步您添加完成这会看到如下截图：

该页面提供了来源排序、编辑、以及删除功能

a).排序： 在列表左边的文本框里面输入您自定义的顺序支持0~255，然后点击排序按钮即可。文章发布页面就会根据您的排序进行从小到大排序

b).修改： 点击欲修改的来源右侧的【修改】连接，则会弹出编辑页面，和添加界面类似这里不再详述。

c).删除： 点击欲删除的来源右侧的【删除】连接，点击弹出的提示框中的确认即可删除。注意：该操作不可逆！！

3.作用区域

如下图所示

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


木马查杀

使用 —— 扩展——木马查杀

一、本功能说明

本节提供了对整个网站的扫描并和镜像进行对比，以便找出非法文件

二、子功能导航
1.生成nd5
2.木马查杀
3.功能演示
4.查杀报告
三、功能详解
1.生成MD5

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择木马查杀 -> 生成MD5

稍等片刻即可完成

注意事项：
在生成MD5镜像之前强烈建议您确保当前的文件未被恶意修改或者嵌入了木马文件！

2.木马查杀

镜像生成成功以后会自动跳转到木马查杀页面，界面如下

界面解释

a). 查杀目录： 您欲要查验的目录和文件，如果您选中了文件夹则会扫描整个文件夹里面的所有文件

b). 文件类型： 用于筛选需要查验的文件类型，多个类型请使用【|】间隔。

c). 特征函数： 用于查找查杀目标里面的文件是否包含所填写的函数，多个函数用【|】间隔

d). 特征代码： 用于查找查杀目标里面的文件是否包含所填写的代码串，多个代码串用【|】间隔。

3.功能演示

a). 在根目录建立 mumachasha.php文件 代码如下：

b). 后台选择查验该文件，特征函数默认不改，特征代码请填写phpcms，如下图所示然后提交开始查验

稍等片刻即可查验完成并且跳转到报告页面

4.查杀报告

如下图我们的测试结果，详细的列出了特征函数以及特征代码

编者注：
 本查验结果仅供参考，如有疑问请与默认文件进行对比。因为很多木马常用的函数正常的程序也会使用，只不过并非用于破坏而已。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


更新全站缓存

使用 —— 扩展——更新全站缓存

一、本功能说明

本节仅为更新缓存的作用，进行过某些模块的设置等操作或者感觉某些地方不正常的时候请更新缓存。

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择更新全站缓存

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


后台操作日志

使用 —— 扩展——后台操作日志

一、功能说明

本功能主要就是记录后台的所有操作，包括用户名、时间、IP、模型URL等参数。
您可以使用不同的参数组合进行搜索，由于本功能相对简单故不再详述。

编者注：
 本功能需要事先开启后台操作日志记录，默认为关闭状态
开启地址：导航栏 选择设置 -> 菜单栏 选择安全配置。如下图所示：

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


下载镜像管理--PHPCMS V9帮助手册

使用 —— 扩展——下载镜像管理

一、功能说明

本功能主要提供镜像下载字段的属性进行设置
关于镜像的含义本文档不再详述，有意者请参考百度百科

二、子功能导航

1.添加镜像

2.管理镜像

3.功能示例

三、功能详述
1.添加镜像

如下图所示

界面详述

1). 镜像站名称： 您可以自行定义

2). 镜像站地址： 根据您的具体情况填写且确保该地址能够正常访问

3). 所属站点： 如果您启用了多站点那么请选择您欲添加的子站点

2.管理镜像

如下图所示

界面详述

1). 左侧提供了排序的功能，您可以输入1~255之间的数字进行重新排序

2). 右侧提供了修改以及删除连接，由于功能简单故此不再详述

3.功能示例

上面的示例中我们已经添加了一个网通的进行连接，接下来添加一篇信息,如下图所示：

打开文章内容页显示如下

点击网通下载显示下载新窗口如果设置了收费则会提示扣除点数

点击下载则开始下载

编者注：
上图中红色框部分正是我们添加的镜像站URL，蓝色框则为文件地址
对于上图中出现的404错误是因为cnc.phpcms.cn为示例网址，本身就不存在所以出现找不到文件的提示，并非程序BUG

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


IP禁止

使用 —— 扩展——IP禁止

一、功能说明

本功能为设置禁止登陆后台的IP地址，支持通配符

二、子功能导航
1.添加IP
2.管理IP
三、功能详解
1.添加IP

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择IP禁止

2).界面解释

进入后选择添加IP禁止按钮弹出如下界面

界面详述

1). IP: 填写您欲禁止进入后台的IP，支持通配符，如图所示将会阻止：127.0.0.0~127.0.0.255 之间的IP登陆

2). 解封时间： 顾名思义是表示禁令失效日期，

注意事项：
添加禁止IP的时候慎用*因为他的范围很广，稍有不慎会将自己封在后台之外，如下图所示：

解决办法：
1.更换 IP 重新登陆后台解除限制
2.等待禁止时间过期
3.登陆后台清空 v9_ipbanned表，修改 caches/caches_commons/caches_data/ipbanned.cache.php 将里面的内容清空（切勿删除该文件）

2.IP管理

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择在线升级 -> IP禁止

2).界面解释

界面如下图所示：

页面详细的列出了禁止IP的情况包括过期时间，同时提供了搜索以及删除功能，搜索不支持通配符 比如搜索 127.0.0.*无法搜索到127.0.0.1的
由于功能较为简单故不再详述

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


URL规则管理--PHPCMS V9帮助手册

使用 —— 扩展——URL规则管理

一、本功能说明

可以自定义全站各功能模块的相关URL，以便更加符合SEO或者个性化需求

注意事项：
本功能只提供URL规则的管理，具体使用还需要模块支持自定义URL

二、子功能导航
1.添加规则
2.管理规则
三、功能详解
1.添加规则

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择URL规则管理 -> 添加规则

2).界面解释

点击后弹出如下界面

界面详述

1). url规则名称： 您可以自行定义任何字符，建议使用简介且具有一定寓意的语句

2). 模块名称： 该规则的作用模块，各模块间的规则相互独立

3). 是否生成静态： 设置该规则是静态url还是动态url

4). url示例： 使用该规则所生成的url样式

5). url规则： 根据您预先规划的url来填写变量，相关变量在下面都有列出，示例：{$categorydir}{$catdir}/index.html|{$categorydir}{$catdir}/{$page}.html

2.管理规则

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择URL规则管理

2).界面解释

如下图所示：

功能简述

1). 修改： 您可以修改任意URL规则，界面如添加规则一样，点击前往

2). 删除： 您可以删除任意规则，需二次确认防止误删

注意事项：
请慎用删除功能，该操作为不可逆，删除后需要更改相关模块或者模型的设置否则可能产生异常

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


数据库工具

使用 —— 扩展——数据库工具

一、本功能说明

对全站数据进行导出备份或者将备份的数据库恢复

注意事项：
备份数据请确保根目录的caches文件夹具有写入权限。

二、子功能导航
1.数据备份
2.数据还原
3.数据修复
三、功能详解
1.数据备份

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 数据库工具

2).界面解释

点击后显示如下界面

界面详述

1). 分卷大小： 您可以自行定义单个数据包文件的大小，不建议大于2048，因为恢复数据的时候有的虚拟主机不支持大于2M的附件

2). 建表语句格式： 设置导出的SQL语句的语法，请根据您的目标主机数据库版本选择，一般默认即可

3). 强制字符集： 设置导出的数据编码，一般默认即可

4). 数据连接池： 请选择您的数据池

5). 选择数据池后会自动列出里面的数据表名,点击左上角的【反选】即可全选数据表，然后点击开始备份数据 即开始备份，稍等片刻备份完成提示如下

2.数据还原

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 数据库工具 -> 数据库导入

2).界面解释

如下图所示：

功能简述

1). 导入

a).选择要导入的数据池

b).点击要导入的数据备份文件右边的 恢复数据连接

c).导入完成

2). 删除

选中欲删除的数据库文件左侧的选择框（您也可以点击【全选/取消】进行批量选择取消）然后点击 删除备份文件即可

注意事项：
请慎用删除功能，该操作为不可逆，需要确保caches文件夹具有读写权限否则会删除失败！

3.数据库修复

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 数据库工具

2).界面解释

如下图所示：

功能简述

1).选择要数据池

2).选择好数据池以后程序会自动列出里面的数据表，点击单表右侧的修复，优化即可对该表进行操作
您也可以点击【反选】然后点击页面最下面的 【批量修复 | 批量优化】 进行批量操作

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


菜单管理

使用 —— 扩展——菜单管理

一、本功能说明

对全站菜单进行添加、修改、删除操作

二、子功能导航
1.添加
2.修改
2.删除
三、功能详解
1.添加菜单

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 菜单管理-> 顶部添加菜单或者 在菜单列表选择添加子菜单
如下图所示：

2).界面解释

点击后显示如下界面

界面详述

1). 上级菜单： 请选择该菜单所属的级别和位置

2). 中文语言名称： 菜单名称

3). 菜单英文名称： 菜单的英文代号

4). 模块名： 菜单所连接到的模块的英文名称

5). 文件名：菜单所连接到的模块里面的文件名称

6). 方法名：菜单所连接到的文件里面的方法名

注意事项：
通过AJAX 传递的方法，请使用 ajax_开头，方法为修改或删除操作时，请对应写成，ajax_edit_myaction/ajax_delete_myaction

7). 附加参数：程序需要的额外参数，多个参数请使用 & 间隔，例如： one=1&two=2

8). 是否显示菜单：设置该菜单的显示与否

9). 点击 提交 即可添加成功

2.菜单编辑

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 菜单管理 -> 对应菜单右侧的编辑 如下图：

2).界面解释

修改菜单和添加菜单操作类似故不在详述，您可以返回上一节查看详情

3.删除菜单

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 菜单管理 -> 对应菜单右侧的编辑 如下图：

点击删除后会提示确认操作，以防止误操作

注意事项：
请慎用删除功能，该操作为不可逆，

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


敏感词管理--PHPCMS V9帮助手册

使用 —— 扩展——敏感词管理

一、本功能说明

对网站内容进行过滤屏蔽，以免违反互联网相关政策而导致网站被关闭

二、子功能导航
1.添加敏感词
2.修改敏感词
2.删除敏感词
三、功能详解
1.添加敏感词

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 敏感词管理-> 顶部添加敏感词或者批量导入

2).界面解释

a.)点击添加敏感词后显示如下界面

界面详述

1). 敏感词： 请填写您要屏蔽的任何词语

2). 替换词： 请填写代替该敏感词语的词语

3). 敏感级别： 选择【一般】则用替换词替换，否则直接去除该敏感词

4). 点击 确定 即可添加成功

b.)点击批量导入后显示如下界面

界面详述

1). 敏感词： 请填写您要屏蔽的任何词语，格式：一行一个敏感词，参数之间用英文","隔开，参数顺序为：敏感词,代替词,敏感级别

2). 确认无误点击 提交 即可添加成功

2.敏感词编辑

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 敏感词管理 -> 对应敏感词右侧的修改 如下图：

2).界面解释

修改和添加操作类似故不在详述，您可以返回上一节查看详情

3.删除敏感词

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 敏感词管理 -> 对应菜单右侧的删除

点击删除后会提示确认操作，以防止误操作

注意事项：
请慎用删除功能，该操作为不可逆，

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


Baibu/Google地图

使用 —— 扩展——Baibu/Google地图

一、本功能说明

生成全站内容的地图索引，以便搜索引擎快速准确的收率网站信息

二、功能详解
1.生成地图

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择 Baibu/Google地图

2).界面解释

点击后显示如下界面

名词解释
Sitemaps：
Sitemaps 服务旨在使用 Feed 文件 sitemap.xml 通知 Google、Yahoo! 以及 Microsoft 等 Crawler(爬虫)网站上哪些文件需要索引、这些文件的最后修订时间、更改频度、文件位置、相对优先索引权，
这些信息将帮助他们建立索引范围和索引的行为习惯。详细信息请查看 sitemaps.org 网站上的说明。
通过Sitemaps，您可以获得：
1、更大的抓取范围，更新的搜索结果 – 帮助网友找到更多您的网页。
2、更为智能的抓取 – 因为我们可以得知您网页的最新修改时间或网页的更改频率。
3、详细的报告 – 详细说明 Google 如何将网友的点击指向您的网站及 Googlebot 如何看到您的网页。

互联网新闻开放协议：
互联网新闻开放协议》是百度新闻搜索制定的搜索引擎新闻源收录标准，网站可将发布的新闻内容制作成遵循此开放协议的XML格式的网页（独立于原有的新闻发布形式）供搜索引擎索引。
PHPCMS可自动生成网站的Sitemaps，但是您还需要向google或者baidu提交Sitemaps的访问地址。
您的网站的Sitemaps 访问地址为：sitemaps.xml
PHPCMS可自动生成网站的<<互联网新闻开放协议>>，但是您还需要向baidu提交访问地址。
您的网站的Sitemaps 访问地址为：baidunews.xml
更多关于Google Sitemaps的信息：https://www.google.com/webmasters/sitemaps/login?hl=zh_CN
更多关于<<互联网新闻开放协议>>的信息：http://news.baidu.com/newsop.html#kg

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


关联连接

使用 —— 扩展——关联连接

一、本功能说明

可以自动批量的将内容里面的关键词语加上超链接

二、子功能导航
1.添加连接
2.管理连接
三、功能详解
1.添加规则

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择关联连接 -> 添加关联连接

2).界面解释

点击后弹出如下界面

界面详述

1). 关联连接名称： 您可以需要添加连接的关键字

2). 关联连接网址： 该关键字对应的网址

2.管理连接

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择关联连接

2).界面解释

如下图所示：

功能简述

1). 修改： 您可以修改任意关联连接，界面如添加一样，点击前往

2). 删除： 您可以删除任意关联连接，需二次确认防止误删

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


联动菜单

使用 —— 扩展——联动菜单

一、本功能说明

级联菜单管理，通过自定义字段的【联动菜单】类型，可以方便的扩展系统！

二、子功能导航
1.添加菜单
2.管理菜单
3.添加子菜单
4.管理子菜单
5.功能示例
三、功能详解
1.添加菜单

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择联动菜单 -> 添加联动菜单

2).界面解释

点击后弹出如下界面

界面详述

1). 菜单名称： 您可以自定义任意字符，推荐具有一定意义

2). 菜单描述： 菜单作用简介

3). 菜单风格： 设置该菜单前台的表现形式，其中选择SELECT联动菜单，需要设置显示的层级

4). 站点： 菜单作用范围

2.管理连接

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择联动菜单

功能简述

1). 修改： 您可以修改任意菜单，界面如添加一样，点击前往

2). 删除： 您可以删除任意菜单，请慎用删除功能，该操作需二次确认防止误删，删除后无法恢复，且需要修改相关字段设置更改其使用的菜单ID

注意事项：
添加、修改菜单以后请记得点击菜单后面的 更新缓存！！

3.添加子菜单

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择联动菜单 -> 点击菜单列表右侧管理子菜单 -> 添加联动菜单

2).界面解释

点击后弹出如下界面

界面详述

1). 上级菜单： 设置菜单级别

2). 菜单名称： 设置菜单名称，一行一个

3). 菜单描述： 当前菜单简述

4.管理子连接

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择联动菜单 -> 点击菜单列表右侧管理子菜单

功能简述

1). 修改： 您可以修改任意菜单，界面如添加一样，点击前往

2). 删除： 您可以删除任意菜单，请慎用删除功能，该操作需二次确认防止误删，

注意事项：
添加、修改菜单以后请记得点击菜单后面的 更新缓存！！

5.功能示例

1).导航栏 选择内容 -> 菜单栏 选择 模型管理 -> 点击文章模型右侧的字段管理 -> 添加字段

界面详述

a). 字段类型请选择 联动菜单

b). 是否作为主表字段请根据情况自行设置，通常比较常用的字段需设置成主表

c). 字段名可任意定义但只能由英文字母、数字和下划线组成，并且仅能以字母开头，不以下划线结尾

d). 字段别名为表单项名称，例如：汽车类别

e). 菜单ID为改字段使用的联动菜单的ID，点击【在列表中选择】即可弹出菜单列表，点击相应的菜单名称即可选中

f). 显示方式、路径分隔符、是否作为筛选字段等参数请根据个人需求设置，我们点击【提交】即可添加成功

g). 进入栏目添加内容即可以看见刚刚添加的联动菜单字段

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


工作流

使用 —— 扩展——工作流

一、功能说明

设置不同的工作流，每个子状态可以单独设置管理员，从而实现逐级专人审核制度

二、子功能导航
1.添加工作流
2.管理工作流
三、功能详解
1.添加工作流

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择工作流 -> 添加工作流

2).界面解释

点击后弹出如下界面

界面详述

1). 工作流名称: 您可以填入任意字符

2). 描述： 工作流简介

3). 审核级数： 可以设置次工作流的审核级数

4). 审核人员列表： 设置各个级数的管理人员，只有超级管理员和该处设置的管理员才能审核该级的信息

5). 免审核人员： 改工作流下面添加信息无需审核的人员

6). 审核状态时是否允许修改： 审核期间是否允许用户重新更改信息

注意事项：
审核人员列表、免审核人员需事先添加，这里只显示除超级管理员以外的其他管理员，查看添加方法

2.管理工作流

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择工作流

由于修改和添加方法类似故不再详述

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


phpsso

使用 —— phpsso

一、PHPSSO简介

    PHPSSO是用PHP开发的单点登录系统。在接入PHPSSO的多个应用系统中，用户只需要登录一次就可以访问所有相互信任的应用系统。PHPSSO可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制，是目前比较流行的企业业务整合的解决方案之一。

二、PHPSSO安装

phsso安装

三、PHPSSO应用

会员管理

应用管理

通信信息

积分兑换

管理员管理

系统设置

更新缓存

修改密码

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


会员管理

使用 —— PHPSSO —— 会员管理

一、简介

管理站点用户。

二、功能演示

1，添加用户

2，管理用户

您可以添加，查询和删除用户。如下图所示：

返回目录


应用管理

使用 —— PHPSSO —— 应用管理

一、简介

管理PHPSSO应用。

二、功能演示

1，添加应用
\

2，管理应用

选择应用列表修改和删除操作。如下图：

返回目录


通信信息

使用 —— PHPSSO —— 通信信息

一、简介

查看和管理系统用户通信信息。

二、功能演示

1.查看和管理通信信息

查看通信信息，选择不需要的通信信息进行删除。如下图：

返回目录


积分兑换

使用 —— PHPSSO —— 积分兑换

一、简介

设置会员积分兑换规则和管理规则。

二、功能演示

1.添加积分规则

上图中选择了“phpcms v9”通信下的积分点数兑换到这个通信下的金币。并且兑换比例为100比1（100积分换1金币）。

2，管理积分规则

查看和删除不需要或过期的积分规则。如下图所示：

返回目录


管理员管理

使用 —— PHPSSO —— 管理员管理

一、简介

添加和管理管理员。

二、功能演示

1.添加管理员

2，管理管理员

对不需要或过期的管理员进行编辑和删除操作。如下图所示：

返回目录


系统设置

使用 —— PHPSSO —— 系统设置

一、简介

PHPSSO可以设置禁止注册的用户名或EMAIL等。还可以整合ucenter，实现v9与uc的用户整合，实现与uc应用的同步注册、登录。还可以设置与php2008 sp4密码兼容等。

二、功能演示

1，注册配置

设置禁止注册用户名，E-MAIL等。如下图所示：

2，UCenter配置

配置好基本信息就能实现v9与uc的用户整合，实现与uc应用的同步注册、登录。如下图所示：

1，PHP2008 SP4密码兼容

兼容PHP2008 SP4密码。配置如下图：

返回目录


更新缓存

使用 —— PHPSSO —— 更新缓存

一、简介

当对PHPSSO进行修改后，执行此操作。

二、功能演示

更新应用列表缓存。如下图所示：

返回目录


修改密码

使用 —— PHPSSO —— 修改密码

一、简介

修改当前登入系统管理员密码。

二、功能演示

1.修改密码

修改当前登入系统管理员密码。如下图所示：

返回目录


应用

使用 —— 应用

一、简介

应用是V9提供的非常方便模块。拥有很多插件和常用小功能。方便用户根据自己需要应用到站点中去。

二、功能演示

1.应用使用操作方法展示

以下以安装一个“在线客服”插件为例，帮助您了解和体验PHPCMS V9应用模块的使用和理解。

A，选择应用

到“应用”页面你可以看到很多应用的列表。如下图所示：

B，选择“在线客服”

选择安装“在线客服”跳转到下载页面。如下图：

如需手动安装应用；请点击“点击下载”下载后手动安装（建议不要使用，以免发生错误）。这里选择“在线安装”安装到系统。点击“在线安装”跳转到安装页面。如下图：

点击“安装此应用”进行安装（如需取消，请点击“取消”按钮)。安装完成后系统会提示您安装成功。反之会提示安装失败（失败时请查看操作是否正确或联系官方或作者）。安装成功后我们就可以对该应用进行管理和配置了。

C，开启应用

安装成功后需手动开启该应用。到“已安装新应用”页面列表处找到“在线客服”模块。点击“开启”按钮。如下图所示：

开启后，根据自己需要对应用进行配置。点击“配置”跳转到配置页面进行配置。也可以选择卸载该模块等。如下图所示：

可以看到此应用的简介说明或注意事项等。也可以根据自己需要进行配置。这里我需要在前台页面右边显示在线QQ。配置成功后，在前台就可以看到效果了，如下图所示：

返回目录


内容

升级与转换

一、简介

本章节主要介绍PHPCMS V9程序升级方式及常见cms系统转化为PHPCMS V9的升级包。

二、目录

程序升级

程序转换

返回目录


程序升级

升级与转换 —— 程序升级

一、简介

本章节主要介绍PHPCMS V9程序升级方式

二、目录

离线升级

在线升级

返回目录


离线升级

升级与转换 —— 程序升级——离线升级

一、升级办法

需要通过下载升级版，根据升级包内说明文件进行升级

二、升级补丁地址

通常升级补丁通过论坛发布，有新的补丁时后台会有提醒，同时您也可以在http://download.phpcms.cn/v9/9.0/patch/ 中下载以前的升级补丁

三、升级方法
1.不涉及到sql变更等复杂升级

直接下载升级包覆盖即可

2.涉及到sql变更等复杂升级

需要上传升级包中upgrade目录，进行升级

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


在线升级

升级与转换 —— 程序升级——在线升级

一、本功能说明

本节提供了在线升级网站程序以及网站核心文件效验功能

二、子功能导航
1.在线升级
2.文件效验
三、功能详解
1.在线升级

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择在线升级

2).界面解释

进入后程序会自动获取是否有新版本，如果没有则显示如下界面

如果有新的版本则显示如下界面

这时候只要点击开始升级程序就会自动开始下载相应的补丁包，然后自动安装！

注意事项：
本功能需要写入文件，操作前请务必确认您网站下的所有文件以及文件夹具有写权限！
本功能会覆盖文件，使用前请注意您的程序是否经过二次开发，模版是否经过修改！
如果开发过那么请放弃使用本功能，手工进行升级，如果使用的费默认模版请勿勾选覆盖模版 切记！切记！

2.文件效验

1).如何进入本功能

导航栏 选择扩展 -> 菜单栏 选择在线升级 -> 文件效验

2).界面解释

程序在效验结束以后将会列出当前程序和默认文件的不同之处，如下图所示：

页面下部详细列出了疑似有问题的文件详细列表，这时候您只需要使用默认文件进行对比即可确认是被非法修改过的！

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


程序转换

升级与转换 —— 程序转换

一、简介

本章节主要介绍主流cms系统转换为PHPCMS V9程序的转换程序包文件

二、目录

phpcms2008 to v9

phpcms2007 to v9

DEDECMS 5.6 to v9

帝国cms 6.5 to v9

PHP168 Sharp to v9

返回目录


phpcms v9 整合 phpwind 8.7

升级与转换 —— 程序转换 —— phpcms2008 to v9

转换文件下载
DBK
http://download.phpcms.cn/v9/convert/phpcms2008tov9_gbk.zip
UTF8
http://download.phpcms.cn/v9/convert/phpcms2008tov9_utf8.zip
一、升级前的准备

1、下载 phpcms v9官方版到本地或者服务器上（如果V9要安装与08同级目录的话，可以把08 的所有文件移动到：phpcms2008_bak下面，不要覆盖08版本的文件）；
2、安装phpcms v9程序。（安装v9的数据库前缀不能与08的相同，安装过程中会有提示）;
3、通过phpcms v9后台的数据库管理功能或者其他工具备份数据库；（备份08版数据）;

二、升级站点数据

1、下载升级程序；
2、上传 phpcms2008tov9 目录到v9网站根目录；
3、确认您的升级版本为phpcms 2008 sp4；
4、将要phpcms 2008 sp4程序中的include/config.inc.php文件改名为config.bak.php，确保2008mysql服务器配置在v9网站中可连接，并拷贝到phpcms2008tov9目录下；
5、配置升级程序中config.php中phpcms2008_url参数；
6、将原phpcms2008附件目录拷贝至phpcmsv9 根目录；
7、在浏览器中运行 http://www.domain.com/phpcms2008tov9/index.php 开始升级（其中 http://www.domain.com 为你的站点访问地址)。

三、升级后的工作

1、删除升级程序目录，以免给您的站点带来隐患。
2、更新全站缓存
3、更新url地址

注意：

1、 打开08系统文件 include/config.inc.php 找到 define('PASSWORD_KEY', 'etsaa'); //会员密码密钥
2、进入到V9后台的phpsso

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


phpcms2007 to v9

升级与转换 —— 程序转换 —— phpcms2007 to v9

转换文件下载
DBK
http://download.phpcms.cn/v9/convert/phpcms2007tov9_GBK.zip
UTF8
http://download.phpcms.cn/v9/convert/phpcms2007tov9_UTF8.zip
一、转换说明

1、转换前，请先做好2007版的程序、数据备份工作，V9版的程序、数据备份工作。
2、下载转换程序解压到PHPCMSV9 根目录。
3、将PHPCMS2007版的config.inc.php复制出来，重命名config.bak.php，覆盖到转换程序根目录。
4、转换程序根目录下的phpsso_db_config.php为V9版phpsso的数据库配置文件，请做相应修改。并根据提示修改config.php文件。
5、访问http://域名/phpcms2007tov9/执行升级程序
6、完成升级，进入后台更新缓存。

二、PHPCMS2007 SP6转换程序的转换对应关系：

1、2007版中对应V9版中没有的会员组转换到v9系统；
2、非管理员会员转换到v9系统，并对应原来的所属会员组；
3、2007版中会员字段对应V9没有的会员字段(包括自定义的会员字段)，转换到V9系统中；
4、2007版的频道（不包括视频类型频道）转换为V9中的模型，V9系统对应不存在的字段（包括自定义字段），新加到模型字段中；
5、2007版栏目转换到v9系统中；
6、2007版中的信息转换到V9系统中。栏目、会员组阅读权限等信息一并转移。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


DEDECMS 5.6 to v9

升级与转换 —— 程序转换 —— DEDECMS 5.6 to v9

转换文件下载
DBK
http://download.phpcms.cn/v9/convert/dedecms5.6toV9_GBK.zip
UTF8
http://download.phpcms.cn/v9/convert/dedecms5.6toV9_UTF8.zip
一、转换说明

1.转换有风险，请在转换前做好程序和数据库的备份工作。
2.PHPCMS V9正式版本安装时，请使用“全新安装PHPCMS V9 (含 PHPSSO)”的安装模式，否则无法对会员进行转换。
3.本程序只适用于DEDECMS 5.6版本转换到PHPCMS V9正式版本。
4.请把DEDECMS 5.6的/data/common.inc.php复制到转换程序目录中并命名为config.bak.php。
5.转换完成后，请把DEDECMS 5.6中的附件文件夹，直接上传/复制到PHPCMS V9的根目录。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


帝国cms 6.5 to v9

升级与转换 —— 程序转换 —— 帝国cms 6.5 to v9

转换文件下载
DBK
http://download.phpcms.cn/v9/convert/ecms6.5tov9_GBK.zip
UTF8
http://download.phpcms.cn/v9/convert/ecms6.5tov9_UTF8.zip
一、转换说明

一、备份原程序和数据库。
二、升级站点数据
1、上传 ecmstov9 目录到v9网站根目录；
2、确认您的升级版本为ecms 6.5；
3、修改config.bak.php 数据库连接信息和用户组对应信息
4、在浏览器中运行 http://www.domain.com/ecmstov9/index.php 开始升级（其中 http://www.domain.com 为你的站点访问地址)。
5、更新v9缓存和url
6、上传附件文件夹，并检查转换后附件路径是否正确。
三、升级后的作
删除升级程序目录，以免给您的站点带来隐患。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


帝国cms 6.5 to v9

升级与转换 —— 程序转换 —— 帝国cms 6.5 to v9

转换文件下载
DBK
http://download.phpcms.cn/v9/convert/php168stov9_gbk.zip
UTF8
http://download.phpcms.cn/v9/convert/php168stov9_utf8.zip
一、转换说明

1、转换前，请先做好PHP168的程序、数据备份工作，V9版的程序、数据备份工作。
2、下载转换程序解压到PHPCMSV9 根目录。
3、将PHP168的data/config.php复制出来，重命名config.bak.php，移动到转换程序根目录。
4、转换程序根目录下的phpsso_db_config.php为V9版phpsso的数据库配置文件，请做相应修改。并根据提示修改config.php文件。
5、访问http://域名/php68stov9/执行升级程序
6、完成升级，进入后台更新缓存。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


整合文档

一、简介

用于PHPCMS v9与目前主流常用系统整合。

二、目录

整合Discuz 7.0 - X1.5

整合Discuz X2

整合PHPWIND 8.7

返回目录


整合Discuz X2

整合文档 —— 整合Discuz 7.0--X1.5

该整合文档适用于PHPCMS V9 20111014以后版本

一、整合说明

该整合文档适用于与DZ X1.5以下版本 即Ucenter 1.5 版本进行整合。

二、整合方法

1.确定你的CMS及PHPSSO版本为最新版

2.修改phpsso_server\api\uc_client为uc_client_1_6,修改uc_client_1_5为uc_client

2.登录phpsso后台，系统设置 > uc设置

3.登录Ucenter后台，添加应用，配置相应的信息

4.更新缓存，包括phpsso缓存，ucenter缓存，discuz 缓存

因为phpsso里有多个应用，所以需要输出多条js进行同步登陆操作，而x1.5登录使用ajax post数据，所以只能执行一个应用同步登陆的js，这样引起uc和phpsso应用间不同步登录的问题。

解决办法：
整合x1.5和dz72都需要在后台关闭登录浮动窗口。

5.修改Discuz中文件

5.1 X1.5 修改 \template\default\member\login.htm 第 51行，删除

ajaxpost('loginform_$loginhash', 'returnmessage_$loginhash', 'returnmessage_$loginhash', 'onerror');return false;

5.2 X1.5 修改 template\default\member\login_simple.htm 第 2 行，删除

onsubmit="return lsSubmit()"

discuz72需要修改 \templates\default\login.htm 第 48 行，删除

ajaxpost('loginform', 'returnmessage', 'returnmessage', 'onerror');return false;

5.3 X1.5 修改 source\function\function_core.php 第 1458 行，查找

$param['header'] = true;
替换为
 $param['header'] = false;
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


整合Discuz X2

整合文档 —— 整合Discuz X2

该整合文档适用于PHPCMS V9 20111014以后版本

一、整合说明

该整合文档适用于与DZ X2 即Ucenter 1.6 版本进行整合。

二、整合方法

1.确定你的CMS及PHPSSO版本为最新版

2.登录phpsso后台，系统设置 > uc设置 ，配置相应的整合信息,如图。注意！在前缀前增加数据库名称，格式如：`bbs`.pre_uc_

3.登录Ucenter后台，添加应用，配置相应的信息

4.更新缓存，包括phpsso缓存，ucenter缓存，discuz 缓存

此时你会发现从CMS中登录退出，论坛可以同步登录退出，但是在论坛登录退出无法同步登录退出cms，由于discuz本身的一些问题，为了解决该问题，我们需要修改一下discuz的代码。

5.修改Discuz中文件

5.1 修改 template\default\member\login.htm 第36行，删除

ajaxpost('loginform_$loginhash','returnmessage_$loginhash','returnmessage_$loginhash', 'onerror');return false;

5.2 修改 template\default\member\login_simple.htm 第 2 行，删除

onsubmit="return lsSubmit()"

5.3 修改 /source/function/function_message.php 第 78 行，查找

$param['header'] = true;
替换为
 $param['header'] = false;
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


phpcms v9 整合 phpwind 8.7

整合文档 —— PHPCMS v9 & phpwind 8.7 整合

一、整合说明

该整合程序支持整合phpcms v9 & phpwind 8.x系列产品 （下面是整合phpwind8.7的事例）

整合是以phpcms为服务端

整合内容包含：会员统一注册，统一登录，统一退出，修改密码，邮箱

因为会员登录是以PHPCMS为主服务端，所以phpwind中的会员需要如果大量存在，需要先将phpwind会员导入到phpcms,或者让用户重新使用自己的帐号重新注册即可。

二、整合方法

1.下载对应的整合文件：点击打开下载页面（需要联网）

2.解压缩后，可以看到下面如图所示文件

3.上传文件到phpwind安装的目录

4.登录phpcms后台，进入：phpsso - 应用管理 - 添加应用

应用地址：http://localhost/phpwind8.7/
通讯密钥：自动生成即可 （复制该密钥）
通讯文件：phpsso.php
字符集：按照自己安装的编码格式选择
同步登录：勾选

5.保存成功后：如下

通讯提示失败，不要着急，记下红色标记的id

6.用编辑器（推荐：Editplus）或者记事本打开第3步上传的文件 phpsso.php

7.修改对应的接口内容：

    define('APPID', 2);//phpsso id
第5步记下来的id
    $ps_api_url = 'http://localhost/0909/phpsso_server';//接口地址
phpsso server 的地址，在phpsso没有独立安装的情况下，地址为：您的phpcms安装路径 + phpsso_server，最后没有 "/"
    $ps_auth_key = 'dujgz7vdujryrze1l64hmxblconcujft';//加密密钥
黏贴第4步复制下来的通讯密钥

8.上传后，我们回到phpsso ，如下图：

9.登录phpwind后台，地址默认为：http://localhost/phpwind8.7/admin.php

10.进入应用 - 插件中心 » 通行证 ，网址为：http://localhost/phpwind8.7/admin.php?adminjob=hack&hackset=passport

开启通行证
通行证密钥随便填写，这里没有用到这个密钥
将本系统作为客户端
通行证服务器地址：http://localhost/0909 （PHPCMS 安装路径，后面不需要 “/”）
通行证登录地址：index.php?m=member&c=index&a=login
通行证退出地址：index.php?m=member&c=index&a=logout
通行证注册地址：index.php?m=member&c=index&a=register&siteid=1

11.整合完成

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


标签使用

一、简介

本章节主要介绍PHPCMS内置模块标签，标签说明及自定义调用数据的方式

二、目录

PC标签使用说明

PC标签保留参数

功能模块

工具箱

返回目录


PC标签使用说明

标签使用 —— PC标签使用说明

在PHPCMS V9中我们正式开始需要PC标签做为数据的获取的方式。
PC标签是以下面的方式进行声明

{pc:content action="lists" cache="3600" num="20" page="$page"}{/pc}

PC标签必须以{pc}开头，并以{/pc}结尾的代码片段。
当然不以{/pc}结尾并不会引起程序致命性的错误，导致程序无法继续运行。

以下为两种已知可能会出现的问题：
  1.当网页中出现两个PC标签时，可能会使得没有闭合的PC标签之后的PC标签数据和其混乱。
  2.在后台可视化编辑时，可能出现网页结构错乱的问题。
PC标签分析：

PC标签中{pc:}冒号之后跟随的为模块名。如上面的例子中调用的是内容模型的PC标签。

action="list"

这个形式所代表的是参数。每一个PHPCMS V9模型都为其PC标签定义了调用的参数。其中有一些调用参数是系统保留的参数，其对所有的PC标签都是有效的。

参数必须使用
参数名="参数值"

的方式填写，多个参数之间使用空格分开（如下例），参数值可使用双引号来包括，无论是什么形式的引号都必须是成对出现的。

{pc:content 参数名="参数值" 参数名="参数值" 参数名="参数值"}

请查看PC标签保留参数相关章节，以了解具体保留参数及其用途。

PC标签分类：
PC标签包含两个类别，分别为：
  1.工具类
  2.模块类

工具类，大体上可以理解为PHPCMS V9所提供的一些工具箱。请查看PC标签工具箱相关章节，以了解更多关于工具类的PC标签的更多信息。
而模块 类，是PHPCMS V9各个模型提供给大家调用模块 数据的数据接口。查看具体模块的相关说明章节，以了解更多关于模块类的PC标签的更多信息。

如何显示PC标签中的数据：
默认情况下PC标签中的数据都是数组方式返回的，你都可以通过 $data 来获取到这个数组，如果你在PC标签中定义了return参数，返回的数组将使用return的值进行命令。
一般情况下你可以使用如下的方式来显示值：

{loop $data $key $val}
{$val[title]}

{/loop}

基中的$val[url]和$val[title]需要具体根据所使用的PC标签，返回的数据来判断。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


PC标签保留参数

标签使用 —— PC标签保留参数

下表为PC标签保留参数表，几乎所有的PC标签都支持这些保留参数设置

变量名 | 默认值 | 说明
action | null | 本参数的值表示为操作事件，模型类PC标签必须使用包含本参数，以说明要进行的操作。
cache | 0 | 缓存存储时间（单位秒）
num | 20 | 获取记录的条数，最后会被模板引擎处理成limit传送到处理函数中。
page | null | 当前分页。一般填写为$_GET[page]
urlrule | null | URL规则
return | data | 返回数据变量名
下例中是一个完整的使用例子。
{pc:content action="lists" catid="25" num="20" page="$_GET[page]" return="data"}

        {loop $data $n $r}

  • {$r[title]}
    •
        {/loop}

{/pc}
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


系统常量

标签使用 —— 系统常量

以下系统常量全局可用
CACHE_PATH 缓存文件夹地址
SITE_PROTOCOL 主机协议
SITE_URL 当前访问的主机名
HTTP_REFERER  来源
SYS_START_TIME 系统开始时间
CHARSET  页面字符集
SYS_TIME 当前时间戳
WEB_PATH  网站根路径
JS_PATH  JS路径
CSS_PATH CSS路径
IMG_PATH  图片路径
APP_PATH  动态程序路径
PLUGIN_STATICS_PATH 应用静态文件路径
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


功能模块

标签使用 —— 功能模块

一、简介

本主要介绍PHPCMS内置相关模块的标签调用方式

二、目录

内容模块

评论模块

投票模块

公告模块

专题模块

会员模块

友情链接模块

企业黄页

返回目录


内容模块

标签使用 —— 功能模块 —— 内容模块

一、内容模块

内容模块PC标签调用说明

模块名：content

模块提供的可用操作

操作名 | 说明
lists | 内容数据列表
relation | 内容相关文章
hits | 内容数据点击排行榜
category | 内容栏目列表
position | 内容推荐位列表
1.position操作说明如下：

内容推荐位列表（position）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
posid | 是 | null | 推荐位ID
catid | 否 | null | 调用栏目ID
thumb | 否 | 0 | 是否仅必须缩略图
where | 否 | null | sql语句(可与其他条件组合)
order | 否 | null | 排序类型
num | 是 | null | 数据调用数量

代码例子：

{pc:content  action="position" posid="2" order="listorder DESC" num="4"}
<ul>
{loop $data $key $val}
<li><a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
</ul>
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
title | char(80) | 否 | NULL | 推荐位标题
url | char | 否 | NULL | 推荐位链接地址
inputtime | int(10) | 否 | NULL | 推荐位发布时间
thumb | char | 是 | NULL | 推荐位缩略图
其他 | 不定 | 是 |  | 根据模型所设置的加入到推荐位中字段名称
2.内容列表（lists）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
catid | 否 | null | 调用栏目ID
where | 否 | null | sql语句的where部分
thumb | 否 | 0 | 是否仅必须缩略图
order | 否 | null | 排序类型
num | 是 | null | 数据调用数量
moreinfo | 否 | 0 | 是否调用副表数据

提醒：从PHPCMS V9 Beta 20101105版本开始支持moreinfo参数属性，本参数表示在返回数据的时候，会把副表中的数据也一起返回。一个内容模型分为2个表，一个主表一 个副表，主表中一般是保存了标题、所属栏目等等短小的数据（方便用于索引），而副表则保存了大字段的数据，如内容等数据。在模型管理中新建字段的时候，是 允许你选择存入到主表还是副表的（我们推荐的是，把不重要的信息放到副表中）。想要在列表中调取副表的数据就需要在PC标签中使用moreinfo这个属 性。

代码例子：

{pc:content  action="lists" catid="2" order="id DESC" num="4"}
<ul>
{loop $data $key $val}
<li> <a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
</ul>
{/pc}

where用法：

{pc:content  action="lists" catid="2" where="`thumb`!='' AND `status`=99" order="id DESC" num="4"}
<ul>
{loop $data $key $val}
<li> <a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
</ul>
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
title | char(80) | 否 | NULL | 标题
url | char | 否 | NULL | 链接地址
inputtime | int(10) | 否 | NULL | 发布时间
thumb | char | 是 | NULL | 缩略图
其他 | 不定 | 是 |  | 其他模型字段
3.点击排行榜（hits）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
catid | 否 | null | 调用栏目ID
day | 否 | 0 | 调用多少天内的排行
order | 否 | null | 排序类型（本月排行- monthviews DESC 、本周排行 - weekviews DESC、今日排行 - dayviews DESC）
num | 是 | null | 数据调用数量

代码例子：

{pc:content  action="hits" catid="2" order="weekviews DESC" num="10"}

<ul>
{loop $data $key $val}
<li> <a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
</ul>
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
title | char(80) | 否 | NULL | 推荐位标题
url | char | 否 | NULL | 推荐位链接地址
inputtime | int(10) | 否 | NULL | 推荐位发布时间
thumb | char | 是 | NULL | 推荐位缩略图
其他 | 不定 | 是 |  | 其他模型字段
4.相关文章（relation）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
catid | 否 | null | 调用栏目ID
relation | 否 | $relation | 无需更改
keywords | 否 | null | 内容页面取值：$rs[keywords]
num | 是 | null | 数据调用数量

代码例子：

 {pc:content action="relation" relation="$relation" catid="$catid" num="5" keywords="$rs[keywords]"}
{loop $data $r}
<li>·<a href="{$r[url]}" target="_blank">{$r[title]}</a><span>({date('Y-m-d',$r[inputtime])})</span></li>
{/loop}
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
title | char(80) | 否 | NULL | 标题
url | char | 否 | NULL | 链接地址
inputtime | int(10) | 否 | NULL | 发布时间
thumb | char | 是 | NULL | 缩略图
其他 | 不定 | 是 |  | 其他模型字段
5.栏目列表（category）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
catid | 否 | 0 | 调用该栏目下的所有栏目 ，默认0，调用一级栏目
$siteid | 否 | 1 | 默认调用系统站点
order | 否 | null | 排序方式、一般按照listorder ASC排序，即栏目的添加顺序

代码例子：

 {pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
  <li><a href="{$r[url]}"><span>{$r[catname]}</span></a></li>
{/loop}
{/pc}

返回参数如下表：

字段 | 类型 | 默认值 | 说明
catid | smallint | 无 | 栏目ID
siteid | tinyint(3) | 0 | 站点ID
module | varchar(15) | 无 | 模块ID
type | tinyint(1) | 1 | 栏目类型ID
modelid | tinyint(5) | 5 | 模型ID
parentid | smallint(5) | 5 | 上级父栏目
arrparentid | varchar(255) | 无 | 所有父栏目
child | tinyint(1) | 0 | 子栏目
arrchildid | mediumtext | 无 | 所有子栏目
catname | varchar(30) | 无 | 栏目名称
image | varchar(100) | 无 | 栏目图片
description | mediumtext | 无 | 栏目描述
parentdir | varchar(100) | 无 | 父栏目目录
catdir | varchar(30) | 无 | 栏目目录
url | varchar(100) | 无 | 栏目链接
items | mediumint(8) | 0 | 栏目内容数
hits | int(10) | 0 | 点击数
setting | mediumtext | 无 | 栏目设置
listorder | smallint(5) | 0 | 排序
ismenu | tinyint(1) | 0 | 是否显示
sethtml | tinyint(1) | 0 | 是否生成到根目录
letter | varchar(30) | 无 | 栏目拼音
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


标签使用 —— 功能模块 —— 评论模块

评论模块

评论模块PC标签调用说明

模块名：comment

模块提供的可用操作

操作名 | 说明
get_comment | 获取评论总数据
lists | 评论数据列表
bang | 评论排行榜

下面对所有的操作分开说明

获取评论总数据（get_comment）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
commentid | 是 | null | 评论的ID号

代码例子：

    {pc:comment action="get_comment" commentid="$commentid"}
    评论ID ：{$data[commentid]}  评论总数：{$data[total]}
    {/pc}

上面的例子中输出了评论ID和评论总数，评论模块还提供了更多的数据可以输出。如下表所示：

字段 | 类型 | 空 | 默认 | 注释
commentid | char(30) | 否 |  | 评论ID号
siteid | mediumint(8) | 否 | 0 | 站点ID
title | char(255) | 否 |  | 文章标题
url | char(255) | 否 |  | URL地址
total | int(8) | 是 | 0 | 总评论数
square | mediumint(8) | 是 | 0 | 正方评论数
anti | mediumint(8) | 是 | 0 | 反方评论数
neutral | mediumint(8) | 是 | 0 | 中立评论数
display_type | tinyint(1) | 是 | 0 | 显示方式{1:辩论,0:列表}
lastupdate | int(10) | 是 | 0 | 最后更新时间
评论数据列表(lists)：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
commentid | 是 | null | 评论的ID号
siteid | 否 | 当前所在站点id | 站点id
direction | 否 | 0 | 评论方向｛0：方向，1：正方，2：反方，3：中立｝
hot | 否 | 0 | 排序方式｛0：最新，1：最热｝

代码例子：

    {pc:comment action="lists" commentid="$commentid"}
    <ul>
    {loop $data $key $val}
    <li> {$val[url]}于{format::date($val[creat_at], 1)}发布，他支持{direction($v[direction])}<br>{$val[content]}</li>
    {/loop}
    </ul>
    {/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
commentid | char(30) | 否 |  | 评论ID号
username | varchar(20) | 是 | NULL | 用户名
creat_at | int(10) | 是 | NULL | 发布时间
ip | varchar(15) | 是 | NULL | 用户IP地址
content | text | 是 | NULL | 评论内容
direction | tinyint(1) | 是 | 0 | 评论方向{0:无方向,1:正文,2:反方,3:中立}
support | mediumint(8) | 是 | 0 | 支持数
评论排行榜(bang)：

评论排行榜无定义参数。

代码例子：

    {pc:comment action="bang" num="10"}
    <ul>
    {loop $data $key $val}
    <li><a href="{$val[url]}">{$val[title]}</a>({$val[total]})</li>
    {/loop}
    </ul>
    {/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
commentid | char(30) | 否 |  | 评论ID号
siteid | mediumint(8) | 否 | 0 | 站点ID
title | char(255) | 否 |  | 文章标题
url | char(255) | 否 |  | URL地址
total | int(8) | 是 | 0 | 总评论数
square | mediumint(8) | 是 | 0 | 正方评论数
anti | mediumint(8) | 是 | 0 | 反方评论数
neutral | mediumint(8) | 是 | 0 | 中立评论数
display_type | tinyint(1) | 是 | 0 | 显示方式{1:辩论,0:列表}
lastupdate | int(10) | 是 | 0 | 最后更新时间
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


标签使用 —— 功能模块 —— 投票模块

投票模块

投票模块PC标签调用说明

模块名：vote

模块提供的可用操作

操作名 | 说明
lists | 获取投票列表
get_vote | 获取投票概述

获取投票列表（lists）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
siteid | 是 | null | 站点ID
enabled | 否 | 1 | 显示方式
order | 否 | subjectid DESC | 排序方式

代码例子：

{pc:vote action="lists" order="subjectid desc" siteid="$siteid" num="6" page="$page"  return="dat"}
{loop $dat $r}
{$r[subject]}
(投票数: {$r[votenumber]})
{/loop}
{$pages}
{/pc}

上面的例子中输出了站点ID为$siteid,所有投票列表,并按subjectid倒序排列.每页6条数据。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


公告模块

标签使用 —— 功能模块 —— 公告模块

1.公告模块

公告模块PC标签调用说明

模块名：announce

模块提供的可用操作

操作名 | 说明
lists | 公告数据列表

lists操作说明如下：

2.公告数据列表（lists）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
siteid | 否 | 当前站点ID | 站点ID

代码例子：

    {pc:announce action="lists" siteid="$siteid"}
    <ul>
    {loop $data $key $val}
    <li> <a href="{APP_PATN}index.php?m=announce&c=index&a=show&aid={$val['aid']}">{$val['title']}</a></li>
    {/loop}
    </ul>
    {/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
siteid | tinyint(3) | 否 |  | 所属站点ID
aid | smallint(4) | 否 | NULL | 公告ID
title | char(80) | 否 | NULL | 公告标题
content | text | 否 | NULL | 公告正文
starttime | date | 是 | NULL | 公告有效的开始时间
endtime | date | 是 | NUll | 公告的到期时间
hits | smallint(5) | 是 | 0 | 浏览数
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


标签使用 —— 功能模块 —— 专题模块

专题模块

模块名：special

模块提供的可用操作

操作名 | 说明
lists | 专题列表
content_list | 专题信息列表
hits | 专题信息点击排序

下面对所有的操作分开说明

专题列表（lists）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
siteid | 否 | 当前站点 | 站点ID
elite | 否 | null | 是否推荐
isthumb | 否 | null | 必须有缩略图
listorder | 否 | null | 排序方式

代码例子：

{pc:special action="lists" siteid="$siteid" elite="1" listorder="2" num="3"}

{loop $data $r}
<a href="{$r['url']}"><img src="{thumb($r['thumb'], 224, 112)}" width="224" height="112" alt="{$r['title']}" /><p><strong>{$r['title']}</strong>
{$r['description']}</a>
{/loop}
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
siteid | smallint(5) | 否 |  | 所属站点ID
id | smallint(5) | 否 | 0 | 专题ID
title | char(60) | 否 |  | 专题名称
thumb | char(255) | 否 |  | 专题缩略图
banner | char(100) | 否 | 0 | 专题横幅
description | char(255) | 是 | 0 | 专题导读
url | char(100) | 是 | 0 | 专题url地址
ishtml | tinyint(1) | 否 | 0 | 生成静态
ispage | tinyint(1) | 是 | 0 | 首页实现分页
createtime | int(10) | 是 | 0 | 创建时间

专题信息列表（content_list）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
specialid | 是 | null | 专题ID
typeid | 否 | null | 分类ID
isthumb | 否 | null | 必须有缩略图
listorder | 否 | null | 排序方式

代码例子：

{pc:special action="content_list" specialid="$specialid" typeid="$typeid" listorder="2" num="3"}
{loop $data $r}
<h4 class="blue"><a href="{$r['url']}" target="_blank">{$r['title']}
<p>{str_cut($r['description'], 150)}

{/loop}
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
id | mediumint(8) | 否 |  | ID
specialid | smallint(5) | 否 | 0 | 专题ID
title | char(80) | 否 |  | 文章标题
typeid | smallint(5) | 否 |  | 分类ID
url | char(100) | 否 | 0 | url地址
thumb | char(100) | 是 | 0 | 缩略图
keywords | char(40) | 是 | 0 | 关键字
inputtime | int(10) | 否 | 0 | 添加时间
updatetime | int(10) | 否 | 0 | 更新时间
islink | tinyint(1) | 是 | 0 | 外部链接

专题内容排行榜（hits）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
specialid | 否 | null | 专题ID
listorder | 否 | null | 排序方式

代码例子：

{pc:special action="hits" specialid="$specialid" listorder="2" num="3"}
{loop $data $r}
<a href="{$r['url']}">{$r['title']}
{/loop}
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
hitsid | char(30) | 否 |  | ID
views | int(10) | 否 | 0 | 总浏览数
yesterdayviews | int(10) | 否 | 0 | 昨天浏览数
dayviews | int(10) | 否 | 0 | 当日浏览数
weekviews | int(10) | 否 | 0 | 本周浏览数
monthviews | int(10) | 否 | 0 | 本月浏览数
url | char(100) | 是 | 0 | url地址
title | char(60) | 否 | 0 | 标题
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


标签使用 —— 功能模块 —— 会员模块

会员模块

模块名：member

模块提供的可用操作

操作名 | 说明
favoritelist | 获取收藏文章列表

获取收藏文章列表（favoritelist）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
userid | 是 | null | 用户userid

代码例子：

{pc:member action="favoritelist" userid="$userid" order="id DESC"  num="10"}

{loop $data $k $v}
<a href="{$v['url']}" target="_blank">{$v['title']}</a><span><em>{format::date($v['adddate'], 1)}</em> </span>
{/loop}
{/pc}

上面的例子中输出了获取的用户userid为$userid的10条最新收藏文章

v9_favorite表数据结构

字段 | 类型 | 空 | 默认 | 注释
id | int(10) | 否 |  | 收藏标识id
userid | int(10) | 否 |  | 用户id
title | char(100) | 否 |  | 文章标题
url | char(100) | 否 |  | URL地址
adddate | int(10) | 否 |  | 添加时间
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


标签使用 —— 功能模块 —— 友情链接模块

友情链接模块

友情链接模块PC标签调用说明

模块名：link

模块提供的可用操作

操作名 | 说明
type_list | 获取友情链接列表

获取友情链接列表（type_list）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
siteid | 是 | null | 站点ID
linktype | 是 | 1 | 显示方式
order | 是 | listorder DESC | 排序方式
typeid | 否 | NULL | 分类ID

代码例子：

{pc:link  action="type_list" typeid="4" siteid="1" linktype="1" order="listorder DESC" num="8" return="pic_link"}
{loop $pic_link $v}
<li>
    <a href="{$v['url']}" title="{$v['name']}" target="_blank"><img src="{$v[logo]}" width="90" height="30" />
</li>
{/loop}
{/pc}

上面的例子中输出了站点ID为1,分类ID为4的所有图片友情链接

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


企业黄页

标签使用 —— 功能模块 —— 企业黄页

此标签需要安装黄页模块后方可使用

1.企业黄页

企业黄页PC标签调用说明

模块名：yp

模块提供的可用操作

操作名 | 说明
lists | 黄页模型数据列表
position | 推荐位数据列表
relation | 相关数据列表
hits | 数据排行榜

1.lists操作说明如下：

黄页模型数据列表（lists）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
modelid | 是 | 空 | 模型ID
where | 否 | null | sql语句的where部分
catid | 否 | null | 分类ID
thumb | 否 | 0 | 是否仅必须缩略图
order | 否 | null | 排序类型
num | 是 | null | 数据调用数量
urlrule | 否 | null | 分页规则

代码例子：

    {pc:yp action="lists" catid="$catid" modelid="$modelid" order="$order" num="10" urlrule="$urlrule"}
    <ul>
    {loop $data $key $val}
    <li> <a href="{$val[val]}">{$val['title']}</a></li>
    {/loop}
    </ul>
    {/pc}

where用法：

{pc:yp action="lists" where="`thumb`!='' AND `status`=99" modelid="$modelid" order="id DESC" num="4"}
    <ul>
    {loop $data $key $val}
    <li> <a href="{$val['url']}">{$val['title']}</a></li>
    {/loop}
    </ul>
    {/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
id | mediumint(8) | 否 |  | ID
catid | int(10) | 否 | 0 | 分类ID
title | char(80) | 否 | NULL | 标题
thumb | char(100) | 否 | NULL | 缩略图
url | char | 否 | NULL | 链接地址
inputtime | int(10) | 否 | NULL | 发布时间
其他 | 不定 | 是 |  | 其他模型字段

2.position操作说明如下：

推荐位数据列表（position）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
posid | 是 | null | 推荐位ID
modelid | 是 | null | 模型ID
catid | 否 | null | 调用栏目ID
thumb | 否 | 0 | 是否仅必须缩略图
where | 否 | null | sql语句(可与其他条件组合)
order | 否 | null | 排序类型
num | 是 | null | 数据调用数量
urlrule | 否 | null | 分页规则

代码例子：

{pc:yp action="position" posid="2" modelid="$modelid" catid="$catid" order="listorder DESC" num="4"}
<ul>
{loop $data $key $val}
<li><a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
</ul>
{/pc}

where用法：

{pc:yp action="lists" where="`thumb`!='' AND `status`=99" modelid="$modelid" order="id DESC" num="4"}
    <ul>
    {loop $data $key $val}
    <li> <a href="{$val['url']}">{$val['title']}</a></li>
    {/loop}
    </ul>
    {/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
catid | int(10) | 否 | 0 | 分类ID
title | char(80) | 否 | NULL | 推荐位标题
thumb | char(100) | 否 | NULL | 推荐位缩略图
url | char | 否 | NULL | 推荐位链接地址
inputtime | int(10) | 否 | NULL | 推荐位发布时间
其他 | 不定 | 是 |  | 根据模型所设置的加入到推荐位中字段名称

3.relation操作说明如下：

相关数据列表（relation）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
modelid | 是 | null | 模型ID
keywords | 否 | null | 页面取值：$str_keywords
order | 否 | null | 排序类型
num | 是 | null | 数据调用数量

代码例子：

{pc:yp action="relation" id="$id" modelid="$modelid" num="10" keywords="$str_keywords"}
<ul>
{loop $data $key $val}
<li><a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
</ul>
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
catid | int(10) | 否 | 0 | 分类ID
title | char(80) | 否 | NULL | 标题
thumb | char(100) | 否 | NULL | 缩略图
url | char | 否 | NULL | 链接地址
inputtime | int(10) | 否 | NULL | 发布时间

4.点击排行榜（hits）：

可用参数：

参数名 | 是否必须 | 默认值 | 说明
modelid | 否 | null | 模型ID
day | 否 | 0 | 调用多少天内的排行
order | 否 | null | 排序类型（本月排行- monthviews DESC 、本周排行 - weekviews DESC、今日排行 - dayviews DESC）
num | 是 | null | 数据调用数量

代码例子：

{pc:yp action="hits" modelid="$modelid" day="1"}

<ul>
{loop $data $key $val}
<li> <a href="{$val['url']}">{$val['title']}</a></li>
{/loop}
</ul>
{/pc}

返回参数如下表：

字段 | 类型 | 空 | 默认 | 注释
title | char(80) | 否 | NULL | 标题
url | char | 否 | NULL | 链接地址
inputtime | int(10) | 否 | NULL | 发布时间
thumb | char | 是 | NULL | 缩略图
其他 | 不定 | 是 |  | 其他模型字段
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


工具箱

标签使用 —— 工具箱

一、简介

本主要介绍PHPCMS内置自定义调用数据的方式

二、目录

json工具箱

xml工具箱

get标签

碎片工具箱

返回目录


标签使用 —— 工具箱 —— json工具箱

json工具箱

V9提供JSON工具箱，可以方便的调用外部JSON资源到网页中显示。

JSON工具箱调用方式

    {pc:json url="http://www.yourname.com/asdfasdf.json" cache="3600"}{/pc}

以上为JSON的调用代码url可以更改为你所希望的url地址

参数列表：

参数 | 默认值 | 说明
url | null | 要读取的JSON数据来源
cache | 0 | 缓存时间，对读取的数据进行数据缓存，单位为秒。不设置该值表示不需要进行缓存
return | data | 返回数组名。默认值为data

特别提醒：

PHP对JSON数据要求必须为UTF-8编码，如果你的网页为GBK或其他非UTF-8编码，需要收到数据后进行一次转码。

以下为一个完整的示例：

    {pc:json url="http://www.phpcms.cn/12.php" cache="86400"}
    {loop $data $key $val}
    <a href="{$val[url]}">{$val['title']}</a>
    {/loop}
    {/pc}

本例子表示从http://www.phpcms.cn/12.php获取json数据，并通过{loop}进行循环显示出，其中的连接地址和标题。（本例中的URL地址并不是真实存在的，请更换为您所拥有的地址。）

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


get标签——PHPCMS V9帮助手册

标签使用 —— 工具箱 —— xml工具箱

xml工具箱

V9提供XML工具箱，可以方便的调用外部XML资源到网页中显示。

XML工具箱调用方式

    {pc:xml url="http://www.yourname.com/asdfasdf.xml " cache="3600"}{/pc}

以上为XML的调用代码url可以更改为你所希望的url地址

参数列表：

参数 | 默认值 | 说明
url | null | 要读取的XML数据来源
cache | 0 | 缓存时间，对读取的数据进行数据缓存，单位为秒。不设置该值表示不需要进行缓存
return | data | 返回数组名。默认值为data

特别提醒：

当你远程获取的地址的编辑和你的网页的编码不一致时，需要收到数据后进行一次转码。

以下为一个完整的示例：

    {pc:xml  url="http://www.phpcms.cn/12.php" cache="86400"}
    {loop $data $key $val}
    <a href="{$val[url]}">{$val['title']}</a>
    {/loop}
    {/pc}

本例子表示从http://www.phpcms.cn/12.php获取xml 数据，并通过{loop}进行循环显示出，其中的连接地址和标题。（本例中的URL地址并不是真实存在的，请更换为您所拥有的地址。）

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


get标签

标签使用 —— get标签

GET标签源自于PHPCMS 2008版，其使用SQL语句直接获取数据的特性，成为大家制作模板的首选。
在V9中这样强大的工具也得到保留下来。
GET标签使用方式如下：

使用GET调用数据例子：

以get调用新闻模型为例。数据表名“new”中的数据(主表：phpcms_news 附表：phpcms_news_data)：

{pc:get sql="SELECT * FROM phpcms_news a,phpcms_news_data b WHERE a.id=b.id ORDER BY id DESC" cache="3600" page="$page" return="data"}

        {loop $data $key $val}

  • {$val[title]}
    •
        {/loop}

    {if $pages}
{$pages}
{/if}
{/pc}

使用GET调用数据源 以调用discuz最新贴 例子：

{pc:get sql="SELECT * FROM pre_forum_thread" cache="3600" page="$page" dbsource="discuz" return="data"}

        {loop $data $key $val}

  • {$val[subject]}
    •
        {/loop}

    {if $pages}
{$pages}
{/if}
{/pc}

从上面的代码里面可以看出GET标签所支持的参数。对照下面的列表了解每一个参数的用途：

参数 | 默认值 | 必须 | 说明
sql | null | 是 | 要执行的SQL语句
cache | 0 | 否 | 缓存时间，单位为秒
page | 0 | 否 | 分页，通过变量把当前的分布传给PC标签进行处理
dbsource | null | 否 | 数据源，当你通过系统后台的数据源模块配置过数据源时，可把数据源名填写到这里，系统会去对应的数据源来读取数据。如果要读取本系统的数据请留空
return | data | 否 | 返回的数据的变量
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


a href="pctag_index.html">标签使用 —— 工具箱 —— 碎片工具箱

碎片工具箱

PHPCMS V9中依然保留了PHPCMS 2008中的碎片功能。

      {pc:block pos="index"}{/pc}

以上的代码可以调用碎片功能。

参数对照表

参数 | 默认值 | 必须 | 说明
pos | null | 是 | 碎片位置标识
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


高级应用与部署

一、简介

本章节主要介绍PHPCMS V9相关的一些高级配置及一些服务器相关优化说明

二、目录

Apache下Rewrite设置

Sphinx全文索引教程

Mysql开启全文索引

Mysql优化

修改后台路径

数据库分离部署

万能字段应用

推荐位高级应用

主程序与web目录分离

返回目录


Apache下Rewrite设置

高级应用与部署 —— Apache下Rewrite设置

URL 静态化是一个利于搜索引擎的设置，通过 URL 静态化，达到原来是动态的 PHP 页面转换为静态化的 HTML 页面，伪静态不是真正意义上的静态化，它只是利用某种方法将访问的路径也就是url地址转换成为.html为后缀的文件，但是实际上，文件本身还是以原来的后缀保存在服务器上，目的只是提高搜索引擎的搜索量，PHPCMS V9 支持此功能。当然这个功能还需要服务器环境的支持，下面介绍一下如何在 Apache 服务器下配置 URL 静态化的 Rewrite 规则。

一、独立主机用户

Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码：

        LoadModule Rewrite_module libexec/mod_Rewrite.so
        AddModule mod_Rewrite.c

Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码：

        LoadModule Rewrite_module modules/mod_Rewrite.so
如果存在，那么在配置文件（通常就是 conf/httpd.conf）中加入如下代码。此时请务必注意，如果网站使用通过虚拟主机来定义，请务必加到虚拟主机配置，即 < VirtualHost> 中去，如果加在虚拟主机配置外部将可能无法使用，改好后将 Apache 重启。
        < Directory /phpcms>
        Options FollowSymLinks
        AllowOverride All
        < /Directory>
注意将 /phpcms 替换为您的商店的实际 安装目录

保存 httpd.conf

将readme目录下的.htacces复制到 phpcms 根目录下。

重新启动 Apache。

二、Apache 虚拟主机用户

在开始以下设置之前，请首先咨询您的空间服务商，空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析，否则即便按照下面的方法设置好了，也无法使用。

如果支持，将readme目录下的.htacces复制到 phpcms 根目录下。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


sphinx全文索引教程

高级应用与部署 —— sphinx全文索引教程

Sphinx是一个基于SQL的全文检索引擎，可以结合MySQL,PostgreSQL做全文搜索，它可以提供比数据库本身更专业的搜索功能，使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口，如PHP,Python,Perl,Ruby等，同时为MySQL也设计了一个存储引擎插件。

PHPCMS V9支持这一技术，当然我们需要事先在服务器上做一些相应的部署

英文介绍：http://www.sphinxsearch.com/docs/manual-0.9.9.html

一、安装sphinx
在Windows上安装sphinx

1.下载支持mysql的包 http://www.sphinxsearch.com/downloads/sphinx-0.9.9-win32.zip
2.解压缩 sphinx-0.9.9-win32.zip 到 D:\sphinx
3.安装sphinx服务，在命令行执行命令

D:\sphinx\searchd --install --config d:\sphinx\sphinx.conf --servicename SphinxSearch
英文参照：http://www.sphinxsearch.com/docs

在Linux服务器上安装sphinx

1.下载源码包 http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz

        $ tar xzvf sphinx-0.9.8.tar.gz
        $ cd sphinx
        $ ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql
        $ make
        $ make install

问题一

            /usr/local/sphinx-0.9.9/src/sphinx.cpp:20060: undefined reference to `libiconv_open'
            /usr/local/sphinx-0.9.9/src/sphinx.cpp:20078: undefined reference to `libiconv'
            /usr/local/sphinx-0.9.9/src/sphinx.cpp:20084: undefined reference to `libiconv_close'
            collect2: ld returned 1 exit status
            make[2]: *** [indexer] Error 1
            make[2]: Leaving directory `/home/jling/sphinx-0.9.9/src'
            make[1]: *** [all] Error 2
            make[1]: Leaving directory `/home/jling/sphinx-0.9.9/src'
            make: *** [all-recursive] Error

解决办法：打开configure文件，找到“#define USE_LIBICONV 1”，将注释去掉，并将1改成0。

问题二

 error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory

解决办法：

     64位系统ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16.0.0 /usr/lib64/libmysqlclient.so.16
     32位系统ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so.16

sphinx.conf样例

source main
    {
     type     = mysql    #数据库类型
     sql_host    = 10.228.134.211 #数据库ip
     sql_user    = admin    #数据库用户名
     sql_pass    = admin    #数据库密码
     sql_db     = phpcms_v9   #数据库名
     sql_port    = 3306    # 数据库端口
sql_query_pre = SET NAMES utf8
     sql_query_pre = REPLACE INTO v9_sphinx_counter SELECT 1, MAX(searchid) FROM v9_search
     sql_query = SELECT searchid, adddate, siteid, typeid, id, data FROM v9_search \
        WHERE searchid>=$start AND searchid<=$end
     sql_query_range  = SELECT 1,max_doc_id FROM v9_sphinx_counter WHERE counter_id=1
     sql_range_step = 5000
#字符串属性设置、需要过滤、排序的时候用到
     sql_attr_uint  = typeid
     sql_attr_uint  = siteid
     sql_attr_uint  = id
     sql_attr_timestamp  = adddate
     sql_query_info  = SELECT * FROM v9_search WHERE searchid=$id
    }
 source delta
    {
     type     = mysql    #数据库类型
     sql_host    = 10.228.134.211 #数据库ip
     sql_user    = admin    #数据库用户名
     sql_pass    = admin    #数据库密码
     sql_db     = phpcms_v9   #数据库名
     sql_port    = 3306    # 数据库端口
sql_query_pre = SET NAMES utf8
        sql_query = SELECT searchid, adddate, siteid, typeid, id, data FROM v9_search \
      WHERE searchid >( SELECT max_doc_id FROM v9_sphinx_counter WHERE counter_id=1 )
     sql_query_post = REPLACE INTO v9_sphinx_counter SELECT 1, MAX(searchid) FROM v9_search
     #字符串属性设置、需要过滤、排序的时候用到
     sql_attr_uint  = typeid
     sql_attr_uint  = siteid
     sql_attr_uint  = id
     sql_attr_timestamp  = adddate
     sql_query_info  = SELECT * FROM v9_search WHERE searchid=$id
    }
 #主索引
    index main
    {
     source = main
     # 放索引的目录
     path = D:\sphinx\data\main
     # 编码
     charset_type = utf-8
     # 指定utf-8的编码表
     charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
     # 简单分词，只支持0和1，如果要搜索中文，请指定为1
     ngram_len = 1
     # 需要分词的字符，如果要搜索中文，去掉前面的注释
     ngram_chars   = U+3000..U+2FA1F
    }
 #增量索引
    index delta
    {
        source = delta
        path = D:\sphinx\data\delta
     # 编码
     charset_type = utf-8
     # 指定utf-8的编码表
     charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
     # 简单分词，只支持0和1，如果要搜索中文，请指定为1
     ngram_len = 1
     # 需要分词的字符，如果要搜索中文，去掉前面的注释
     ngram_chars   = U+3000..U+2FA1F
    }

 indexer
    {
     mem_limit    = 128M
    }
 searchd
    {
     port     = 9312
     log      = D:\sphinx\data\phpcms\searchd.log
     query_log    = D:\sphinx\data\phpcms\query.log
     read_timeout   = 5
     max_children   = 30
     pid_file    = D:\sphinx\data\phpcms\searchd.pid
     max_matches    = 2000
     seamless_rotate   = 0
     preopen_indexes   = 0
     unlink_old    = 1
    }
附件：设置计划任务更新索引
1.windows下

需要设置计划任务
#凌晨4点合并索引，执行merge.bat
#其余时间每分钟更新索引，执行delta.bat

merge.bat

        @ECHO off
        D:\sphinx\bin\indexer.exe --config D:\sphinx\sphinx.conf --merge main delta --rotate
        echo indexing, window will close when complete

delta.bat

        @ECHO off
        D:\sphinx\bin\indexer.exe --config D:\sphinx\sphinx.conf delta --rotate
        echo indexing, window will close when complete
2.linux下编辑定时任务 crontab -e
    #凌晨4点合并索引，其余时间每分钟更新索引
    * 0-3 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf delta --rotate
    * 6-23 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf delta --rotate
    0 4 * * * /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --merge main delta --rotate

各种路径、权限需要应用所在服务器一致，如： sphinx.conf 中需要配置
sql_host 数据库主机地址
sql_user 数据库用户名
sql_pass 数据库密码
sql_db 数据库名
sql_port 数据库端口
phpcms表前缀样例中为phpcms_
索引路径 D:\sphinx\data\delta
phpcmsv9_withsphinx.zip

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


mysql开启全文索引

高级应用与部署 —— mysql开启全文索引

很多互联网应用程序都提供了全文搜索功能，用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台，这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询，尽管这种方法可行，但对于全文查找而言，这是一种效率极端低下的方法，尤其在处理大量数据的时候。
MySQL针对这一问题提供了一种基于内建的全文查找方式的解决方案。在此，开发者只需要简单地标记出需要全文查找的字段，然后使用特殊的MySQL方法在那些字段运行搜索，这不仅仅提高了性能和效率（因为MySQL对这些字段做了索引来优化搜索），而且实现了更高质量的搜索

大多数是由于mysql未开启全文索引引起 ，mysql开启全文索引方法：

1、修改mysql配置文件：window服务器为my.ini，linux服务器为my.cnf，在 [mysqld] 后面加入一行“ft_min_word_len=1”，然后重启Mysql。

2、登录后台，模块->全站搜索->重建索引 重建全文索引

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


mysql优化

高级应用与部署 —— mysql优化

在整体的系统运行过程中，数据库服务器 MySQL 的压力是最大的，不仅占用很多的内存和 cpu 资源，而且占用着大部分的磁盘 io 资源，连 PHP 的官方都在声称，说 PHP 脚本 80% 的时间都在等待 MySQL 查询返回的结果。由此可见，提高系统的负载能力，降低 MySQL 的资源消耗迫在眉睫。

常见优化方法：
1、页面缓存

1、页面缓存功能是降低MySQL的资源消耗的（PHPCMS V9系统本身就已经考虑，采用生成HTML页面，大大降低了数据库的压力）。

2、mysql服务器的优化

2.1、修改全站搜索，修改my.ini(my.cnf) ，在 [mysqld] 后面加入一行“ft_min_word_len=1”，然后重启Mysql，再登录网站后台（模块管理->全站搜索）重建全文索引。

2.2、记录慢查询sql语句，修改my.ini(my.cnf)，添加如下代码：

    #log-slow-queries
    long_query_time = 1 #是指执行超过多久的 sql 会被 log 下来
    log-slow-queries = E:/wamp/logs/slow.log #设置把日志写在那里，可以为空，系统会给一个缺省的文件
    #log-slow-queries = /var/youpath/slow.log linux下     host_name-slow.log
    log-queries-not-using-indexes

2.3、mysql缓存的设置

   mysql>show variables like '%query_cache%';
mysql本身是有对sql语句缓存的机制的，合理设置我们的mysql缓存可以降低数据库的io资源。
#query_cache_type= 查询缓存的方式(默认是 ON)
query_cache_size 如果你希望禁用查询缓存，设置 query_cache_size=0。禁用了查询缓存，将没有明显的开销
query_cache_limit 不缓存大于这个值的结果。(缺省为 1M)

2.4、查询缓存的统计信息

 mysql> SHOW STATUS LIKE ‘qcache%’;
Qcache_free_blocks 缓存中相邻内存块的个数。数目大说明可能有碎片。
FLUSH QUERY CACHE 会对缓存中的碎片进行整理，从而得到一个空闲块。
Qcache_free_memory 缓存中的空闲内存。
Qcache_hits 每次查询在缓存中命中时就增大。
Qcache_inserts 每次插入一个查询时就增大。命中次数除以插入次数就是不中比率；用 1 减去这个值就是命中率。在上面这个例子中，大约有 87% 的查询都在缓存中命中。
Qcache_lowmem_prunes 缓存出现内存不足并且必须要进行清理以便为更多查询提供空间的次数。这个数字最好长时间来看；如果这个数字在不断增长，就表示可能碎片非常严重，或者内存很少。（上面的 free_blocks 和 free_memory 可以告诉您属于哪种情况）。
Qcache_not_cached 不适合进行缓存的查询的数量，通常是由于这些查询不是 SELECT 语句。
Qcache_queries_in_cache 当前缓存的查询（和响应）的数量。
Qcache_total_blocks 缓存中块的数量。通常，间隔几秒显示这些变量就可以看出区别，这可以帮助确定缓存是否正在有效地使用。运行 FLUSH STATUS 可以重置一些计数器，如果服务器已经运行了一段时间，这会非常有帮助。

2.5、my.ini(my.conf)配置
2.5.1、key_buffer_size

 key_buffer_size = 256M
# key_buffer_size指定用于索引的缓冲区大小，增加它可得到更好的索引处理性能。
对于内存在4GB左右的服务器该参数可设置为256M或384M。注意：该参数值设置的过大反而会是服务器整体效率降低！
2.5.2、
    max_allowed_packet = 4M
    thread_stack = 256K
    table_cache = 128K
    sort_buffer_size = 6M
查询排序时所能使用的缓冲区大小。注意：该参数对应的分配内存是每连接独占！如果有100个连接，那么实际分配的总共排序缓冲区大小为100 × 6 ＝ 600MB。所以，对于内存在4GB左右的服务器推荐设置为6-8M。 2.5.3、
read_buffer_size = 4M
读查询操作所能使用的缓冲区大小。和sort_buffer_size一样，该参数对应的分配内存也是每个连接独享！ 2.5.4、
join_buffer_size = 8M
联合查询操作所能使用的缓冲区大小，和sort_buffer_size一样，该参数对应的分配内存也是每个连接独享！ 2.5.5、
    myisam_sort_buffer_size = 64M
    table_cache = 512
    thread_cache_size = 64
    query_cache_size = 64M
指定MySQL查询缓冲区的大小。可以通过在MySQL控制台执行以下命令观察：
    # > SHOW VARIABLES LIKE '%query_cache%';
    # > SHOW STATUS LIKE 'Qcache%';
    # 如果Qcache_lowmem_prunes的值非常大，则表明经常出现缓冲不够的情况；
    #如果Qcache_hits的值非常大，则表明查询缓冲使用非常频繁，如果该值较小反而会影响效率，那么可以考虑不用查询缓冲；
    Qcache_free_blocks，如 果该值非常大，则表明缓冲区中碎片很多
2.5.6、
    tmp_table_size = 256M
     max_connections = 768
指定MySQL允许的最大连接进程数。如果在访问论坛时经常出现Too Many Connections的错误提示，则需要增大该参数值。 2.5.7、
    max_connect_errors = 10000000
    wait_timeout = 10
指定一个请求的最大连接时间，对于4GB左右内存的服务器可以设置为5-10。 2.5.8、
thread_concurrency = 8
该参数取值为服务器逻辑CPU数量×2，如果服务器有2颗物理CPU，而每颗物理CPU又支持H.T超线程，所以实际取值为4 × 2 ＝ 8 2.5.9、
skip-networking
开启该选项可以彻底关闭MySQL的TCP/IP连接方式，如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项！否则将无法正常连接！

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


修改后台路径

高级应用与部署 —— 修改后台路径

通过此功能可以设置网站后台的访问路径

这里填写你需要设置的后台访问域名，例如：admin.domain.com

在该域名解析到您的网站服务器后，只能通过该域名登陆

配置保存在/caches/configs/system.php中，修改参数admin_url可手动取消绑定

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


数据库分离部署

高级应用与部署 —— 数据库分离部署

V9数据模型功能，允许用户把不同的数据表，分离到不同的数据库服务器上。以实现负载的分离，更加的符合大访问网站的需求。

数据分离方法
1.数据库连接配置
配置文件路径：caches\configs\database.php
return array (
    'default' => array (
        'hostname' => 'localhost',
        'database' => 'phpcmsv9',
        'username' => 'admin',
        'password' => 'admin',
        'tablepre' => 'v9_',
        'charset' => 'gbk',
        'type' => 'mysql',
        'debug' => true,
        'pconnect' => 0,
        'autoconnect' => 0
        ),
    /*可以根据自己需求设置多个数据库链接配置*/
    'link1' => array (
        'hostname' => 'localhost',
        'database' => 'comment',
        'username' => 'admin',
        'password' => 'admin',
        'tablepre' => 'v9_',
        'charset' => 'gbk',
        'type' => 'mysql',
        'debug' => true,
        'pconnect' => 0,
        'autoconnect' => 0
        ),
    'link2' => array (
        'hostname' => 'localhost',
        'database' => 'workflow',
        'username' => 'admin',
        'password' => 'admin',
        'tablepre' => 'v9_',
        'charset' => 'gbk',
        'type' => 'mysql',
        'debug' => true,
        'pconnect' => 0,
        'autoconnect' => 0
        ),
);
2.数据模型配置
配置文件路径：phpcms\model中所有文件

该目录下所有*_model.class.php都是数据模型文件

例如：workflow_model.class.php

    defined('IN_PHPCMS') or exit('No permission resources.');
    pc_base::load_sys_class('model', '', 0);
    class workflow_model extends model {
    public function __construct() {
        $this->db_config = pc_base::load_config('database');
        $this->db_setting = 'link2'; //可以通过修改db_setting设置该数据表所链接的数据库服务器
        $this->table_name = 'workflow';
        parent::__construct();
    }
    }
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


万能字段应用

高级应用与部署 —— 万能字段应用

V9中新增加了万能字段，用户可以通过万能字段来实现一些常规字段无法实现的表单布局类型与功能 例如：

例如：

一、如何添加万能字段？

后台->内容 -> 内容相关设置 -> 模型管理

选择字段管理，添加/编辑字段，在字段类型中选择万能字段

例如我有如下字段

这里还要设置这些字段为：万能字段的附属字段！

那么我可以这样设置来实现，上面图例的效果

二、高级使用 - 函数的支持

很多时候，虽然万能字段支持了自定义的表单内容，但表单里面一些可变的内容没法处理，例如：显示当前时间，这就需要动态的支持函数功能

使用方法：{FUNC(函数名~~参数)}

注释：函数名为可为php自带的函数也可为自己定义的函数
参数只支持1个参数的传递，多个参数可用 ~分开，然后交给函数来使用~分割参数 ，例如：参数1~参数2~参数3
自定义函数方法：在文件 \phpcms\libs\functions\extention.func.php 增加自定义函数

举例1：表单处显示当前日期 ，{FUNC(date~~Y-m-d H:i:s)}，输出格式为：2011-10-26 11:25:33

举例2：显示当前ip ，{FUNC(ip~~)}，输出格式为：114.250.58.215

举例3：自定义上传按钮

效果：

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


推荐位高级应用

高级应用与部署 —— 推荐位高级应用

在推荐位中有一个扩展字段配置可以实现一些，常规推荐位功能不容易实现的功能

在扩展字段配置中填写模型字段名称后该字段将保存入推荐位扩展字段中,格式:{字段名称}或者functionA({city},argv1)

例如：填写了

get_linkage({zone},getinfocache('info_linkageid'), '_',4)
那么他的含义是：将模型下的zone字段的值经过get_linkage函数处理后，保存入推荐位扩展字段中。
该功能非开发者慎用！
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


主程序与web目录分离

高级应用与部署 —— 主程序与web目录分离

在网站部署中，考虑网站的安全行问题，可以将您的网站主程序与WEB目录分离,使主程序在WEB目录之外，从而提高网站的安全性。

分离方法
1.将PHPCMS V9中程序主框架目录phpcms移动至web目录之外

如图：

2.修改web目录下程序入口文件index.php文件为
 /**
 *  index.php PHPCMS 入口
 *
 * @copyright			(C) 2005-2010 PHPCMS
 * @license				http://www.phpcms.cn/license/
 * @lastmodify			2010-6-1
 */
 //PHPCMS根目录

define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);

include '../phpcms/base.php';

pc_base::creat_app();
3.修改web目录下接口文件文件api.php文件为
 /**
 *  index.php API 入口
 *
 * @copyright			(C) 2005-2010 PHPCMS
 * @license				http://www.phpcms.cn/license/
 * @lastmodify			2010-7-26
 */
define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
include '../phpcms/base.php';
$param = pc_base::load_sys_class('param');

$op = isset($_GET['op']) && trim($_GET['op']) ? trim($_GET['op']) : exit('Operation can not be empty');
if (!preg_match('/([^a-z_]+)/i',$op) && file_exists(PHPCMS_PATH.'api/'.$op.'.php')) {
    include PHPCMS_PATH.'api/'.$op.'.php';
} else {
    exit('API handler does not exist');
}

这样即可以完成主程序与web目录分离

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


第三方手册

一、第三方手册

    第三方手册主要是PHPCMS v9中使用的第三方开源项目的相关使用手册与API文档，方便大家在其基础上扩展与二次开发

二、目录

JQuery 手册

artDialog手册

formValidator手册

calendar手册

CKEDITOR

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


JQuery 手册

第三方手册 —— JQuery 手册

PHPCMS V9中使用的js框架为jquery1.4.4版

官方网站地址：http://jquery.com/

API手册地址：请点击这里

什么是jquery？

Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ，它兼容CSS3，还兼容各种浏览器 （IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+）。jQuery使用户能更方便地处理HTML documents、events、实现动画效果，并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是，它的文档说明很全，而且各种应用也说得很详细，同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离，也就是说，不用再在html里面插入一堆js来调用命令了，只需定义id即可。

jquery文件在PHPCMS V9中放置在哪里?

web目录\statics\js\jquery.min.js

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


artDialog手册

第三方手册 —— artDialog手册

PHPCMS V9中使用的弹窗效果框架为artDialog

项目地址：请点击这里

API手册地址：请点击这里

什么是artDialog？

artDialog是一个基于javascript编写的对话框组件，精致的界面与易用的接口是它的优势。

artdialog文件在PHPCMS V9中放置在哪里?

web目录\statics\js\dialog.js

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


jQuery formValidator手册

第三方手册 —— jQuery formValidator手册

PHPCMS V9中使用的表单验证框架为jQuery formValidator

项目地址：请点击这里

什么是jQuery formValidator？

jQuery formValidator表单验证插件是客户端表单验证插件。 在做B/S开发的时候，我们经常涉及到很多表单验证，例如新用户注册，填写个人资料，录入一些常规数据等等。在这之前，页面开发者（JavaScript开发者）需要编写大量的JavaScript来进行表单元素的校验，而这些校验在平时开发中不停的重复书写。 常见的校验如不能为空，必须满足长度要求，必须为数字，必须为Email等等。一般要判断的表单元素比较多，开发过程就显得枯燥无味——重复的代码不断重复，而且可能还要兼容多种浏览器，更多的考虑因素使人头疼不已。由于每个要校验的页面虽然逻辑基本相同，但是在大多数情况下，出于种种原因，开发者宁愿再编写一套JS文件，为了便于管理。 jQuery formValidator表单插件致力于改善这一过程。你只关心业务逻辑，而无需关系实现过程,只需简单的配置，无需写代码就能实现表单的检验。它包括常规检验功能和可扩展校验功能。针对每个表单元素你只需要写一行配置信息就能完成校验。而这些配置信息无需写入表单元素，实现了js代码和html代码的分离。这样做的好处，使B/S开发过程中，分工更加明确，页面设计着只需关心他的页面（设计的时候不必担心把脚本弄坏了），javascript开发者只需关心脚本的开发。 而插件本身包含的校验方式可以有无数种，只要你扩展正则表达式和函数。本插件于同类校验插件最大的区别：校验功能可以扩展；实现了校验代码于html代码的完全分离；你只需写一行配置信息就能完成一个表单元素的所有校验。插件本身提供了很多回调函数，使调用者能最大限度的发挥自己的想象能力来完成自己的业务需求。 在同一个页面你可以拥有很多个校验组，你只需在提交的按钮那里调用 return jQuery.formValidator.pageIsValid('校验组号') 来完成多个组的校验，互不干扰。 插件具备跨浏览器的能力。目前在ie和ff两种浏览器下调试通过，你不用再考虑在多浏览器下如何兼容，jQuery formValidator帮你做到了这些。

jQuery formValidator文件在PHPCMS V9中放置在哪里?

web目录\statics\js\formvalidator.js

web目录\statics\js\formvalidatorregex.js

如何在v9中加载jQuery formValidator?

jQuery formValidator插件的API帮助

目前支持5种大的校验方式，分别是：inputValidator（针对input、textarea、select控件的字符长度、值范围、选择个数的控制）、compareValidator（提供2个对象的比较，目前可以比较字符串和数值型）、ajaxValidator（通过ajax到服务器上做数据校验）、regexValidator（提供可扩展的正则表达式库） 、functionValidator （提供可扩展函数库来做校验）

每种格式支持的控件类型如下：

 | input |  |  |  |  | textarea | select
校验方式 | text | radio | checkbox | file | password | textarea | select-one
inputValidator | √ | √ | √ | √ | √ | √ | √
compareValidator | √ |  |  | √ | √ | √ |
ajaxValidator | √ |  |  | √ | √ | √ | √
regexValidator | √ |  |  | √ | √ | √ |
functionValidator | √ | √ | √ | √ | √ | √ | √
如果你用了不支持的校验功能，插件将忽略这个校验功能。

插件目前提示错误，有两种模式：showword和showalert,即文字提示和窗口提示，下面的4大验证方式，针对showalert这种方式不是都必须的，有些配置是没有作用的
下面分别罗列全局初始化和5种校验方式公开的属性

formValidator:用来做初始化的类型，必须先执行。（"√"为showalert可用参数

属性 | 属性名称 | 默认值 | showalert | 详细解释
validatorgroup | 校验组 | "1" | √ | 一个页面的控件可以分成多个组，分开校验
empty | 是否可以为空 | false | √ |
automodify | 输入错误离开焦点的时候，自动修复错误 | false | √ | 先给出提示然后，自动修复，目前只支持text、file、textarea三种类型
onempty | 空时候的提示 | "输入内容为空" |  | 可以为空，为空时候的提示。为空者不显示
onshow | 显示时候的提示 | "请输入内容" |  | 为空者不显示
onfocus | 获得焦点的提示 | "请输入内容" |  | 为空者不显示
oncorrect | 输入正确后的提示 | "输入正确" |  | 当你焦点离开控件的时候，如果输入正确将出现该提示。为空者不显示
tipid | 显示错误的容器ID | 表单ID+"Tip" |  | 如果不自动构建提示层，表示提示成的ID号 如果自动构建提示层，表示提示层相对的目标控件
tipcss | 自动构建的提示层的样式 | "left":"10px", "top":"1px", "height":"20px", "width":"250px" |  | 主要用于定位自动构建的提示层
forcevalid | 强制输入的值必须有效 | true | √ | 是否把一个全角字符当做2个长度的参数
defaultvalue | 默认值 | null | √ | 所有input和select表单。如果你不设置就保持原值，一旦设置就设为默认值。

inputValidator：

属性 | 属性名称 | 默认值 | 详细解释
type | 比较类型 | "size" | (对select无效) "size":表示比较长度 ，默认值 "number":数值型比较 "string":字符型比较 "date":短日期类型 "datetime":长日期类型
min | 最小长度/值 | 0 | 默认数值型。如果进行字符比较，请收入字符型 对select-one而言inputValidator里的参数min和max表示选择的索引号范围 对select-multiple而言inputValidator里的参数min和max表示选择的个数
max | 最大长度/值 | 99999999999 | 同上
onerror | 发生错误的提示 | "输入错误" | 为空者不显示。
onerrormin | 比min属性小的提示 | null | 当用户输入的值比min属性小的时候的错误提示
onerrormax | 比max属性大的提示 | null | 当用户输入的值比max属性大的时候的错误提示
empty | 控件文本值是否允许两边为空 | 两边都允许出现空 | 默认值{leftempty:true,rightempty:true,emptyerror:null} leftempty:表示左边是否允许为空 rightempty:表示右边是否允许为空 emptyerror：出现该错误的时候的提示，如果为null，则利用onerror属性来提示错误。

compareValidator：

属性 | 属性名称 | 默认值 | 详细解释
desid | 要比较控件的ID | "" | 要跟源目标进行比较的目标ID
operateor | 比较符号 | "=" | 一共有如下几种类型:=、!=、>、>=、<、<=
datatype | 数据类型 | "string" | 目前只支持2种:"string"、"number","datetime","date"
onerror | 发生错误的提示 | "输入错误" | 为空者不显示。

regexValidator:

属性 | 属性名称 | 默认值 | 详细解释
regexp | 正则表达式 | "" | 采用的是显式构造函数new RegExp("pattern"[,"flags"]); 由于Javascript 中'\' 被用作转义字符，所以在使用显示构造函数构造实例对象的时候，需要使用'\\' 代替'\'
param | 附加参数 | "i" | g：代表可以进行全局匹配。 i：代表不区分大小写匹配。 m：代表可以进行多行匹配。 可以任意组合,当然也可以不加参数
datatype | 数据类型 | "string" | "string":自己写的表达式，"enum":枚举名。具体请见demo3.htm 你可以自己修改、添加formValidatorRegex.js里的枚举项目名和表达式。
onerror: | 发生错误的提示 | "输入错误" | 为空者不显示。

ajaxValidator:几乎所有的属性跟$.ajax()的属性一样，请参考$.ajax()函数的帮助

属性 | 属性名称 | 默认值 | 详细解释
type | 请求的类型 | "GET" | "POST" 或 "GET"
url | 发送到的URL地址 | "" |
datatype | 返回的数据类型 | "html" | xml、html、script、json
data | 数据 | "" |
async | 是否以异步的方式发送 | true |
success | 当请求成功时调用的函数 | null |
processdata | 自动处理返回的数据为字符串 | true | 在默认的情况下，如果data选项传进的数据是一个对象而不是字符串，将会自动地被处理和转换成一个查询字符串
complete | 当请求完成时调用的函数 | null |
beforesend | 当请求前时调用的函数 | null | 有个一个参数，根$.ajax里的beforeSend参数一样。
buttons | 你点提交的按钮(组)jQuery对象 | null | 当你触发了ajax校验，buttons里对应的按钮（组）就会灰掉，一直等待服务器返回数据为止
error | 当请求失败时调用的函数 | "请求失败" | 你可以自己定义这个错误，在error里自动打出。为空者不显示。

functionValidator

属性 | 属性名称 | 默认值 | 返回值的解释
fun 外部函数名()
参数1:元素的值,
参数2:元素对象 		默认当作处理过程
true/false | 校验成功/失败
字符串 | 校验失败，返回值当作自定义错误
无 | 处理过程
onerror | 发生错误的提示 | "输入错误" | 函数return false的时候，显示该错误信息

公共函数:主要是设置全局参数和判断是否通过校验

函数名 | 函数说明
$.formValidator.initConfig 参数：配置类型
属性 | 默认值 | 说明
validatorgroup | "1" | 你要针对哪个组进行配置
formid "" 要自动注册pageIsValid函数的表单ID号
alertmessage | false | 是否弹出窗口
autotip | false | 是否自动构建提示层
errorfocus | true | 发生错误的时候，第一个出错控件是否获得焦点
forcevalid | true | 是否一直输入正确为止才允许离开焦点
wideword | true | 是否把一个全角字符当做2个长度
onsuccess | null | 该组校验通过后的回调函数,返回false，阻止表单的提交
submitonce | false | 校验通过后，是否灰掉所有的提交按钮
onerror null 该组校验失败后的回调函数， 有两个参数
参数1 | 一个校验没有通过的错误信息
参数2 | 一个校验没有通过的元素对象
debug | false | 是否处于调试模式。true:不提交表单
$.formValidator.pageIsValid 一个参数： 不是配置类型
validatorgroup "1" 你要针对哪个组进行验证
$.formValidator.isOneValid 一个参数： 当时设置验证的表单元素ID。
返回是否校验成功的信息。
$.formValidator.setFailState function("tipid","显示的信息")
在showword模式下，如果你的额外校验没有通过，你可以通过它来设置成失败信息和状态
$.formValidator.getLength function("表单元素id")
checkbox或radiobutton表示(同组)选择的个数。
对select-one，选择索引的值
对select-multiple，inputValidator里的参数min和max表示选择的个数
其它input表示的表示字符长度。
$.formValidator.retSetTipState | function(校验组号) 来把该组的提示内容恢复到onshow状态

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


calendar(日历)手册

第三方手册 —— calendar(日历)手册

PHPCMS V9中使用的日期选择器为Dynarch Calendar

官方网站地址：请点击这里

API手册地址：请点击这里

什么是Dynarch Calendar？

Dynarch.com 开发的一个日历控件，她功能十分健全，内置多种皮肤，支持多种语言，同时提供了一个配置程序，使用非常方便

Dynarch Calendar文件在PHPCMS V9中放置在哪里?

web目录\statics\js\calendar

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


CKEditor

第三方手册 —— CKEditor

PHPCMS V9中使用的编辑器为CKEditor

官方网站地址：http://ckeditor.com/

API手册地址：请点击这里

什么是CKEditor？

CKEditor是新一代的FCKeditor，是一个重新开发的版本。CKEditor是全球最优秀的网页在线文字编辑器之一，因其惊人的性能与可扩展性而广泛的被运用于各大网站。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


phpsso

使用 —— 二次开发

一、二次开发

本章节主要介绍PHPCMS V9的二次开发技巧

二、目录

目录结构分析

数据库结构

二次开发流程

入口程序

系统类库与函数库调用

配置文件调用

函数扩展

控制器扩展技巧

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


目录结构分析

二次开发 —— 目录结构分析

文件目录结构

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


数据库结构

二次开发 —— 数据库结构

PHPSSO 数据库结构
[更新日期：2010-12-28]

点击查看

PHPCMS 数据库结构
[更新日期：2010-12-28]

点击查看

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


二次开发 —— 二次开发流程

二次开发流程

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


二次开发 —— 入口程序

入口程序

PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问，采用单一入口模式进行项目部署和访问，无论访问任何一个模块或者功能，只有一个统一的入口。 入口程序是在前期处理用户请求的引导程序。它是唯一一个可以被最终用户可以直接请求运行的。

phpcms v9的入口程序包含如下几行：

index.php
 define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
 include PHPCMS_PATH.'/phpcms/base.php';
 pc_base::creat_app();
这段代码首先加载了 phpcms 框架的引导文件 base.php，然后它根据指定的配置文件建立了一个 Web 应用实例并运行。
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


系统类库与函数库调用

二次开发 —— 系统类库与函数库调用

系命名规范

系统类库位于系统的phpcms/libs/classes目录下面，函数库文件名为*.class.php，其中global.func.php为框架中默认加载，global.func.php中函数可直接使用

系统函数库位于系统的phpcms/libs/functions目录下面，函数库文件名为*.func.php

系统类库调用
 /**
 * 加载系统类方法
 * @param string $classname 类名
 * @param string $path 扩展地址
 * @param intger $initialize 是否初始化
 */
 public static function load_sys_class($classname, $path = '', $initialize = 1) {
     return self::_load_class($classname, $path, $initialize);
 }
调用方法：
$http = pc_base::load_sys_class('http'); //实例化http类
pc_base::load_sys_class('format', '', 0); //调用form类，不进行实例化操作
系统函数库调用
 /**
 * 加载系统的函数库
 * @param string $func 函数库名
 */
 public static function load_sys_func($func) {
     return self::_load_func($func);
 }
调用方法：
pc_base::load_sys_func('mail'); 调用mail函数包
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


配置文件调用

二次开发 —— 配置文件调用

配置文件配置在caches/configs/目录下。

配置文件调用：使用 load_config方法

示例：
$upload_url = pc_base::load_config('system','upload_url');//调用系统配置中的附件路径
$upload_url = pc_base::load_config('system','web_path');//调用系统配置中的网站主路径
$upload_url = pc_base::load_config('system','charset');//调用系统配置中的网站字符集
配置文件代码示例
/**
  * 加载配置文件
  * @param string $file 配置文件
  * @param string $key  要获取的配置荐
  * @param string $default  默认配置。当获取配置项目失败时该值发生作用。
  * @param boolean $reload 强制重新加载。
  */
 public static function load_config($file, $key = '', $default = '', $reload = false) {
      static $configs = array();
      if (!$reload && isset($configs[$file])) {
           if (empty($key)) {
              return $configs[$file];
           } elseif (isset($configs[$file][$key])) {
              return $configs[$file][$key];
           } else {
              return $default;
           }
      }
    $path = CACHE_PATH.'configs'.DIRECTORY_SEPARATOR.$file.'.php';
    if (file_exists($path)) {
       $configs[$file] = include $path;
    }
    if (empty($key)) {
       return $configs[$file];
    } elseif (isset($configs[$file][$key])) {
       return $configs[$file][$key];
    } else {
       return $default;
    }
 }
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


函数扩展

二次开发 —— 函数扩展

在针对PHPCMS V9做二次开发的时候，您可以自定义一些全局函数且不影响以后官方升级

您自定义的文件请放置于该文件中

phpcms\libs\functions\extention.func.php
或者以.func.php格式命名，放置于如下目录中
phpcms\libs\functions\autoload

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


控制器扩展技巧

二次开发 —— 控制器扩展技巧

如果要对已存在的控制器进行二次开发，为了方便升级不建议直接对内核文件直接修改该，您可以通过"MY_*.php"的形式进行二次开发。

例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"

MY_index.php代码如下:

class MY_index extends index{
    function __construct() {
        parent::__construct();
        }
        //……your code
}

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


常见问题

本章节主要介绍用户在使用PHPCMS v9过程中经常遇到的一些问题

三、黄页模块功能演示

采集过滤规则无效

网站更换域名怎么办？

后台登陆提示验证码错误

应用间同步登陆问题

提示通信失败，用户登录失败

如何将静态文件生成到根目录

为什么添加的内容没有生成静态？

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


采集过滤规则无效

常见问题 —— 采集过滤规则无效

在采集的使用中我们为采集项，设置了过滤项后，有的时候会出现无效的情况。也就是采集出来的结果并没有按我们的想像的把过滤项给删除了。这是为什么呢？
如下面的一个例子，我们在过滤项中进行如下的设置：

../down.php?uri=[|]

他的意思是要把“../down.php?uri=”给过滤掉。可采集出来的结果很不近人意。并没有把这个字符串给过滤掉。这是为什么呢？
PHPCMS V9的采集过滤项，使用的是正则表达式匹配过滤。在我们的上面所设置的过滤项中出现了一些正则表达式的特殊符号。当我把过滤规则修改为：

\.\./down\.php\?uri=[|]

过滤项生效了。这里要给大家说明的一个问题就是，正则表达式中的特殊字符只要在它的前面加一个反斜线（\），他的意思就是表示为符号本身了，不再是正则表达式中的有特殊意义的字符了。
那么正则表达式里面又有哪些需要注意的特殊符号呢？如下表所示，这些符号如果我们要匹配他们的时候都需要在他们的前面添加反斜线。

字符 | 说明
^ | 匹配输入字符串的开始位置。要匹配 "^" 字符本身，请使用 "\^"
$ | 匹配输入字符串的结尾位置。要匹配 "$" 字符本身，请使用 "\$"
( ) | 标记一个子表达式的开始和结束位置。要匹配小括号，请使用 "\(" 和 "\)"
[ ] | 用来自定义能够匹配 '多种字符' 的表达式。要匹配中括号，请使用 "\[" 和 "\]"
{ } | 修饰匹配次数的符号。要匹配大括号，请使用 "\{" 和 "\}"
. | 匹配除了换行符（\n）以外的任意一个字符。要匹配小数点本身，请使用 "\."
? | 修饰匹配次数为 0 次或 1 次。要匹配 "?" 字符本身，请使用 "\?"
+ | 修饰匹配次数为至少 1 次。要匹配 "+" 字符本身，请使用 "\+"
* | 修饰匹配次数为 0 次或任意次。要匹配 "*" 字符本身，请使用 "\*"
| | 左右两边表达式之间 "或" 关系。匹配 "|" 本身，请使用 "\|"
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


网站更换域名怎么办？

常见问题 —— 网站更换域名怎么办？

网站在发展的过程中，很可能多次的修改域名。那么在PHPCMS V9中我们要怎么进行设置呢？
请进行以下步骤的修改：
1.修改/caches/configs/system.php里面所有和域名有关的，把以前的老域名修改为新域名就可以了。
2.进行后台设置-》站点管理 对相应的站点的域名进行修改。
3.更新系统缓存。点击后台右上角的“更新缓存”按钮。
4.进入内容-》附件管理-》附件地址替换。把附件地址批量的替换为新的地址。
5.内容-》批量更新URL 。把所有的文章的地址都更新一下。
6.下面就是把全站都生成一次了。

返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


PHPCMS V9帮助手册

常见问题 —— 后台登陆提示验证码错误

V9的验证码在生成后，会把验证码的数字存入Session当中。
V9在默认的情况下，Session是存放在数据库当中的。其在数据库中的表现如下：

您可以在访问后台登陆页后，查看一下数据库中Session这个表，如果表中没有类型的数据code|s:4:"***";   那说明Session没有成功的写入到数据库中。

这会使你的登陆失败。

可以偿试通过修改"/caches/configs/system.php"当中的：

    'session_storage' => 'mysql',

将其修改为

    'session_storage' => 'files',

再进行偿试。

上面的修改表示，Session存储到硬盘里面，这个将使用PHP默认的存储的方式。
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


phpsso与uc应用间同步登陆问题

常见问题 —— phpsso与uc应用间同步登陆问题

因为phpsso里有多个应用，所以需要输出多条js进行同步登陆操作，而x1.5登录使用ajax post数据，所以只能执行一个应用同步登陆的js，这样引起uc和phpsso应用间不同步登录的问题。

解决办法：
整合x1.5和dz72都需要在后台关闭登录浮动窗口。
x1.5用户需要

修改x1.5  \template\default\member\login.htm  51行，删除

ajaxpost('loginform_$loginhash', 'returnmessage_$loginhash', 'returnmessage_$loginhash', 'onerror');return false;

修改：x1.5  source\function\function_core.php 1458行 查找

$param['header'] = true;

替换为：

$param['header'] = false;

修改x1.5 template\default\member\login_simp le.htm 第二行 删除

onsubmit="return lsSubmit()"

discuz72用户需要修改dz72  \templates\default\login.htm  48行，删除

ajaxpost('loginform', 'returnmessage', 'returnmessage', 'onerror');return false;
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


提示通信失败，用户登录失败

常见问题 —— 提示通信失败，用户登录失败

一、检查服务器是否填写了DNS，即服务器是否能上网访问www.phpcms.cn。有部分用户是本机通信失败，检查C:\WINDOWS\system32\drivers\etc\hosts文件，如果用的是localhost域名访问，本机是否绑定了127.0.0.1 localhost

二、检查phpsso的访问地址是否正确，然后查看设置->phpsso设置中的应用id、接口地址、加密密钥、版本号和phpsso->应用管理->编辑应用中的对应选项是否一致。
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


如何将静态文件生成到根目录

常见问题 —— 如何将静态文件生成到根目录

请修改配置文件caches\configs\system.php中
'html_root' => '/html',//生成静态文件路径
为
'html_root' => '',//生成静态文件路径
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


为什么添加的内容没有生成静态？

常见问题 —— 为什么添加的内容没有生成静态？

默认添加的栏目为静态浏览，是不生成静态的需要在栏目中配置是否生成静态
返回目录 上海盛大网络发展有限公司 c 2006 - 2011 B2-20040053.


基本设置

使用 —— 设置 —— 基本设置

一、简介

此基本配置，用以设置网站相关文件的存放目录。如CSS,JS,图片等。

二、功能演示

此基本配置，用以设置网站相关文件的存放目录。以CSS为例，说明如下：
A.配置对应的存储文件位置 ./caches/configs/system.php
B.设置 CSS 的目录路径。

C.前台调用时，调用CSS时做如下引用。 {template "content","header"} <link href="{CSS_PATH}vote.css" rel="stylesheet" type="text/css" />
注：其他相关文件的使用方法和CSS一样。

返回目录


安装PHPSSO

使用 —— PHPSSO —— 安装PHPSSO

一、简介

安装PHPHSSO操作步骤演示。

二、功能演示
下载phpsso最新版本，解压到相应web目录，浏览器访问开始安装 下载地址：http://download.phpcms.cn

下载phpsso最新版本，解压到相应web目录，浏览器访问开始安装

下载地址：http://download.phpcms.cn/?pc_hash=sw6iVW

安装截图：

1、开始安装

2、环境检测，linux服务器注意目录可写权限

3、填写数据库、管理员信息

4、开始安装

5、完成安装

返回目录


PHPSSO

使用 —— PHPSSO

一、简介

PHPSSO是用PHP开发的单点登录系统。在接入PHPSSO的多个应用系统中，用户只需要登录一次就可以访问所有相互信任的应用系统。PHPSSO可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制，是目前比较流行的企业业务整合的解决方案之一。

二、功能演示

安装PHPSSO

会员管理

应用管理

通信信息

积分兑换

管理员管理

系统设置

更新缓存

修改密码

返回目录